Repository: crytic/slither

Issue:
RecursionError: maximum recursion depth exceeded
I am seeing this issue even with `--ignore-compile` in a [Foundry repo](https://github.com/outdoteth/caviar).
```console
$ slither --version
0.9.2
```

_Originally posted by @0xmichalis in https://github.com/crytic/slither/issues/1146#issuecomment-1461932115_

```
Traceback (most recent call last):
  File "/opt/homebrew/lib/python3.10/site-packages/slither/__main__.py", line 834, in main_impl
    ) = process_all(filename, args, detector_classes, printer_classes)
  File "/opt/homebrew/lib/python3.10/site-packages/slither/__main__.py", line 98, in process_all
    ) = process_single(compilation, args, detector_classes, printer_classes)
  File "/opt/homebrew/lib/python3.10/site-packages/slither/__main__.py", line 76, in process_single
    slither = Slither(target, ast_format=ast, **vars(args))
  File "/opt/homebrew/lib/python3.10/site-packages/slither/slither.py", line 134, in __init__
    self._init_parsing_and_analyses(kwargs.get("skip_analyze", False))
  File "/opt/homebrew/lib/python3.10/site-packages/slither/slither.py", line 144, in _init_parsing_and_analyses
    raise e
  File "/opt/homebrew/lib/python3.10/site-packages/slither/slither.py", line 140, in _init_parsing_and_analyses
    parser.parse_contracts()
  File "/opt/homebrew/lib/python3.10/site-packages/slither/solc_parsing/slither_compilation_unit_solc.py", line 519, in parse_contracts
    self._analyze_third_part(contracts_to_be_analyzed, libraries)
  File "/opt/homebrew/lib/python3.10/site-packages/slither/solc_parsing/slither_compilation_unit_solc.py", line 629, in _analyze_third_part
    self._analyze_variables_modifiers_functions(contract)
  File "/opt/homebrew/lib/python3.10/site-packages/slither/solc_parsing/slither_compilation_unit_solc.py", line 728, in _analyze_variables_modifiers_functions
    contract.analyze_content_functions()
  File "/opt/homebrew/lib/python3.10/site-packages/slither/solc_parsing/declarations/contract.py", line 416, in analyze_content_functions
    function_parser.analyze_content()
  File "/opt/homebrew/lib/python3.10/site-packages/slither/solc_parsing/declarations/function.py", line 286, in analyze_content
    self._parse_cfg(body)
  File "/opt/homebrew/lib/python3.10/site-packages/slither/solc_parsing/declarations/function.py", line 1074, in _parse_cfg
    self._remove_incorrect_edges()
  File "/opt/homebrew/lib/python3.10/site-packages/slither/solc_parsing/declarations/function.py", line 1278, in _remove_incorrect_edges
    self._fix_try(node)
  File "/opt/homebrew/lib/python3.10/site-packages/slither/solc_parsing/declarations/function.py", line 1153, in _fix_try
    self._fix_catch(son, end_node)
  File "/opt/homebrew/lib/python3.10/site-packages/slither/solc_parsing/declarations/function.py", line 1161, in _fix_catch
    self._fix_catch(son, end_node)
  File "/opt/homebrew/lib/python3.10/site-packages/slither/solc_parsing/declarations/function.py", line 1161, in _fix_catch
    self._fix_catch(son, end_node)
  File "/opt/homebrew/lib/python3.10/site-packages/slither/solc_parsing/declarations/function.py", line 1161, in _fix_catch
    self._fix_catch(son, end_node)
  [Previous line repeated 1480 more times]
  File "/opt/homebrew/lib/python3.10/site-packages/slither/solc_parsing/declarations/function.py", line 1156, in _fix_catch
    if not node.sons:
RecursionError: maximum recursion depth exceeded
```
            


Discussion:
Minimal Reproducer:
```solidity
pragma solidity ^0.8.0;

interface ITest {
    function run() external returns (uint);
}

contract Test {

    function break_max_recursion(address addr) private {
        try ITest(addr).run() returns (uint rval) {
            for (uint i; i < rval; i++) {
            }
        } catch {
        }
        return; // need some statement here.
    }

}
```
Thanks for minimizing this @duckki! 
Any update on this?
I'm having the same issue when trying to analyse the Foundation marketplace contracts.

Resolving patch:
diff --git a/slither/solc_parsing/declarations/function.py b/slither/solc_parsing/declarations/function.py
--- 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
@@ -1150,15 +1150,16 @@ def _fix_try(self, node: Node) -> None:
         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:
 


Test patch:
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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.0-legacy.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.1-legacy.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.10-legacy.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.11-legacy.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.12-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.12-legacy.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.13-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.13-legacy.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.14-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.14-legacy.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.15-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.15-legacy.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.16-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.16-legacy.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.17-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.17-legacy.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.18-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.18-legacy.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.19-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.19-legacy.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.2-legacy.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.20-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.20-legacy.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.21-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.21-legacy.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.22-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.22-legacy.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.23-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.23-legacy.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.24-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.24-legacy.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.25-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.25-legacy.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.26-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.26-legacy.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.3-legacy.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.4-legacy.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.5-legacy.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.6-legacy.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.7-legacy.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.8-legacy.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.9-legacy.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.0-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.0-legacy.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.1-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.1-legacy.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.10-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.10-legacy.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.11-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.11-legacy.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.12-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.12-legacy.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.13-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.13-legacy.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.14-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.14-legacy.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.15-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.15-legacy.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.16-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.16-legacy.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.17-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.17-legacy.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.2-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.2-legacy.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.3-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.3-legacy.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.4-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.4-legacy.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.5-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.5-legacy.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.6-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.6-legacy.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.7-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.7-legacy.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.8-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.8-legacy.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.9-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.9-legacy.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.0-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.1-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.10-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.11-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.12-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.2-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.3-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.4-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.5-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.6-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.7-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.8-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.9-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.0-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.1-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.2-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.3-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.4-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.5-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.6-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.0-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.1-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.10-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.11-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.12-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.13-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.14-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.15-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.2-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.3-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.4-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.5-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.6-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.7-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.8-compact.zip 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
Binary files a/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.9-compact.zip and b/tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.9-compact.zip differ
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
--- 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
@@ -3,7 +3,7 @@
     "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",
+    "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
--- 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
@@ -3,7 +3,7 @@
     "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",
+    "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
--- 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
@@ -3,7 +3,7 @@
     "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",
+    "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
--- 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
@@ -3,7 +3,7 @@
     "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",
+    "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
--- 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
@@ -3,7 +3,7 @@
     "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",
+    "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
--- 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
@@ -3,7 +3,7 @@
     "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",
+    "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
--- 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
@@ -3,7 +3,7 @@
     "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",
+    "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
--- 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
@@ -3,7 +3,7 @@
     "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",
+    "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
--- 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
@@ -3,7 +3,7 @@
     "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",
+    "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
--- 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
@@ -3,7 +3,7 @@
     "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",
+    "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
--- 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
@@ -3,7 +3,7 @@
     "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",
+    "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
--- 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
@@ -3,7 +3,7 @@
     "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",
+    "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
--- 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
@@ -3,7 +3,7 @@
     "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",
+    "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
--- 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
@@ -3,7 +3,7 @@
     "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",
+    "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
--- 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
@@ -3,7 +3,7 @@
     "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",
+    "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
--- 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
@@ -3,7 +3,7 @@
     "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",
+    "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
--- 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
@@ -3,7 +3,7 @@
     "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",
+    "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
--- 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
@@ -3,7 +3,7 @@
     "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",
+    "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
--- 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
@@ -3,7 +3,7 @@
     "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",
+    "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
--- 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
@@ -3,7 +3,7 @@
     "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",
+    "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
--- 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
@@ -3,7 +3,7 @@
     "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",
+    "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
--- 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
@@ -3,7 +3,7 @@
     "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",
+    "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
--- 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
@@ -3,7 +3,7 @@
     "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",
+    "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
--- 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
@@ -3,7 +3,7 @@
     "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",
+    "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
--- 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
@@ -3,7 +3,7 @@
     "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",
+    "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
--- 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
@@ -3,7 +3,7 @@
     "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",
+    "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
--- 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
@@ -3,7 +3,7 @@
     "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",
+    "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
--- 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
@@ -3,7 +3,7 @@
     "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",
+    "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
--- 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
@@ -3,7 +3,7 @@
     "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",
+    "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
--- 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
@@ -3,7 +3,7 @@
     "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",
+    "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
--- 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
@@ -3,7 +3,7 @@
     "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",
+    "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
--- 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
@@ -3,7 +3,7 @@
     "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",
+    "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
--- 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
@@ -3,7 +3,7 @@
     "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",
+    "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
--- 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
@@ -3,7 +3,7 @@
     "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",
+    "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
--- 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
@@ -3,7 +3,7 @@
     "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",
+    "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
--- 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
@@ -3,7 +3,7 @@
     "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",
+    "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/trycatch-0.6.0.sol b/tests/e2e/solc_parsing/test_data/trycatch-0.6.0.sol
--- a/tests/e2e/solc_parsing/test_data/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 {