From fea70fdf1e6c739cec4714943b98a6d5f113759a Mon Sep 17 00:00:00 2001 From: Tigran Avagyan Date: Tue, 25 Jul 2023 21:28:27 +0400 Subject: [PATCH 01/13] fixed the case when ternary expression was in if and while condition --- slither/solc_parsing/declarations/function.py | 103 +++++++++++++++++- 1 file changed, 101 insertions(+), 2 deletions(-) diff --git a/slither/solc_parsing/declarations/function.py b/slither/solc_parsing/declarations/function.py index 35ca51aebe..bebd4a65ee 100644 --- a/slither/solc_parsing/declarations/function.py +++ b/slither/solc_parsing/declarations/function.py @@ -10,10 +10,11 @@ FunctionType, ) from slither.core.declarations.function_contract import FunctionContract -from slither.core.expressions import AssignmentOperation +from slither.core.expressions import AssignmentOperation, AssignmentOperationType, Identifier from slither.core.source_mapping.source_mapping import Source from slither.core.variables.local_variable import LocalVariable from slither.core.variables.local_variable_init_from_tuple import LocalVariableInitFromTuple +from slither.core.solidity_types.elementary_type import ElementaryType, ElementaryTypeName from slither.solc_parsing.cfg.node import NodeSolc from slither.solc_parsing.declarations.caller_context import CallerContextExpression from slither.solc_parsing.exceptions import ParsingError @@ -48,6 +49,7 @@ def link_underlying_nodes(node1: NodeSolc, node2: NodeSolc): class FunctionSolc(CallerContextExpression): # elems = [(type, name)] + temp_var_num: int = 0 def __init__( self, @@ -1399,6 +1401,46 @@ def _remove_alone_endif(self) -> None: ################################################################################### ################################################################################### + def __make_temporary_variable_declaration_node( + self, + node_expression: "Expression", + node_source_mapping, # SourceMapping, + node_scope, # TODO: add type + node_function: Function, + temp_var: Optional[LocalVariable] = None + ) -> (Node, LocalVariable): + temp_var_node_parser = self._new_node( + NodeType.VARIABLE, + node_source_mapping, + node_scope + ) + temp_var_node = temp_var_node_parser.underlying_node + if temp_var is None: + FunctionSolc.temp_var_num += 1 + temp_var = LocalVariable() + temp_var.name = f'temp-var-{FunctionSolc.temp_var_num}' + temp_var.type = ElementaryType('bool') + temp_var.initialized = True + temp_var.set_location('default') + temp_var.set_function(node_function) + temp_var_node.add_expression( + AssignmentOperation( + Identifier(temp_var), + node_expression, + AssignmentOperationType.ASSIGN, + None + ) + ) + temp_var_node.add_variable_declaration(temp_var) + return (temp_var_node, temp_var) + + def __link_node_immediately_before(self, new_node: Node, node_in_cfg: Node) -> None: + for father in node_in_cfg: + father.replace_son(node_in_cfg, new_node) + node_in_cfg.remove_father(father) + new_node.add_father(father) + link_nodes(new_node, node_in_cfg) + def _rewrite_ternary_as_if_else(self) -> bool: ternary_found = True updated = False @@ -1407,7 +1449,64 @@ def _rewrite_ternary_as_if_else(self) -> bool: for node in self._node_to_nodesolc: has_cond = HasConditional(node.expression) if has_cond.result(): - st = SplitTernaryExpression(node.expression) + if node.is_conditional(): + if node.type == NodeType.IF: + if_node = node + temp_var_node, temp_var = self.__make_temporary_variable_declaration_node( + if_node.expression, + if_node.source_mapping, + if_node.scope, + if_node.function + ) + node_variable: Identifier = Identifier(temp_var) + self.__link_node_immediately_before(temp_var_node, if_node) + node_to_be_parsed_instead = temp_var_node + + elif node.type == NodeType.IFLOOP: + temp_var_node_pre_loop, temp_var = self.__make_temporary_variable_declaration_node( + node.expression, + node.source_mapping, + node.scope, + node.function + ) + temp_var_node_during_loop, _ = self.__make_temporary_variable_declaration_node( + node.expression, + node.source_mapping, + node.scope, + node.function, + temp_var + ) + node_variable: Identifier = Identifier(temp_var) + # TODO: refactor + # TODO: fix do while loop case + begin_loop_node: Optional[Node] = None + for father in node.fathers: + if father.type == NodeType.STARTLOOP: + begin_loop_node = father + continue + father.replace_son(node, temp_var_node_during_loop) + node.remove_father(father) + temp_var_node_during_loop.add_father(father) + + assert begin_loop_node + + node.add_father(temp_var_node_during_loop) + temp_var_node_during_loop.add_son(node) + + for father in begin_loop_node.fathers: + father.replace_son(begin_loop_node, temp_var_node_pre_loop) + temp_var_node_pre_loop.add_father(father) + begin_loop_node.add_father(temp_var_node_pre_loop) + temp_var_node_pre_loop.add_son(begin_loop_node) + + node_to_be_parsed_instead = temp_var_node_pre_loop + + else: + raise TypeError(f'Unknown conditional type {node.type}') + + node.add_expression(node_variable, bypass_verif_empty=True) + node = node_to_be_parsed_instead # goes back by cfg + st = SplitTernaryExpression(node.expression, node.is_conditional()) condition = st.condition if not condition: raise ParsingError( From 60b49010f3df75ef7714a09dd271d86f2ef23707 Mon Sep 17 00:00:00 2001 From: Tiko7454 Date: Wed, 26 Jul 2023 13:29:38 +0400 Subject: [PATCH 02/13] refactor refactored code fixed a typo generalized method `__link_node_immedietely_before` renamed variables for readibility --- slither/solc_parsing/declarations/function.py | 47 +++++++++---------- 1 file changed, 22 insertions(+), 25 deletions(-) diff --git a/slither/solc_parsing/declarations/function.py b/slither/solc_parsing/declarations/function.py index bebd4a65ee..4365310eb7 100644 --- a/slither/solc_parsing/declarations/function.py +++ b/slither/solc_parsing/declarations/function.py @@ -1434,8 +1434,15 @@ def __make_temporary_variable_declaration_node( temp_var_node.add_variable_declaration(temp_var) return (temp_var_node, temp_var) - def __link_node_immediately_before(self, new_node: Node, node_in_cfg: Node) -> None: - for father in node_in_cfg: + def __link_node_immediately_before( + self, + new_node: Node, + node_in_cfg: Node, + node_not_to_be_detached: Optional[Node] = None + ) -> None: + for father in node_in_cfg.fathers: + if father == node_not_to_be_detached: + continue father.replace_son(node_in_cfg, new_node) node_in_cfg.remove_father(father) new_node.add_father(father) @@ -1463,41 +1470,31 @@ def _rewrite_ternary_as_if_else(self) -> bool: node_to_be_parsed_instead = temp_var_node elif node.type == NodeType.IFLOOP: + if_loop_node = node temp_var_node_pre_loop, temp_var = self.__make_temporary_variable_declaration_node( - node.expression, - node.source_mapping, - node.scope, - node.function + if_loop_node.expression, + if_loop_node.source_mapping, + if_loop_node.scope, + if_loop_node.function ) temp_var_node_during_loop, _ = self.__make_temporary_variable_declaration_node( - node.expression, - node.source_mapping, - node.scope, - node.function, + if_loop_node.expression, + if_loop_node.source_mapping, + if_loop_node.scope, + if_loop_node.function, temp_var ) node_variable: Identifier = Identifier(temp_var) - # TODO: refactor # TODO: fix do while loop case begin_loop_node: Optional[Node] = None for father in node.fathers: if father.type == NodeType.STARTLOOP: begin_loop_node = father - continue - father.replace_son(node, temp_var_node_during_loop) - node.remove_father(father) - temp_var_node_during_loop.add_father(father) - + break assert begin_loop_node - node.add_father(temp_var_node_during_loop) - temp_var_node_during_loop.add_son(node) - - for father in begin_loop_node.fathers: - father.replace_son(begin_loop_node, temp_var_node_pre_loop) - temp_var_node_pre_loop.add_father(father) - begin_loop_node.add_father(temp_var_node_pre_loop) - temp_var_node_pre_loop.add_son(begin_loop_node) + self.__link_node_immediately_before(temp_var_node_during_loop, if_loop_node, begin_loop_node) + self.__link_node_immediately_before(temp_var_node_pre_loop, begin_loop_node) node_to_be_parsed_instead = temp_var_node_pre_loop @@ -1506,7 +1503,7 @@ def _rewrite_ternary_as_if_else(self) -> bool: node.add_expression(node_variable, bypass_verif_empty=True) node = node_to_be_parsed_instead # goes back by cfg - st = SplitTernaryExpression(node.expression, node.is_conditional()) + st = SplitTernaryExpression(node.expression) condition = st.condition if not condition: raise ParsingError( From 76021ff8b8cf91f16460d9a753f47ba710db79a4 Mon Sep 17 00:00:00 2001 From: Tiko7454 Date: Wed, 26 Jul 2023 18:46:11 +0400 Subject: [PATCH 03/13] fixed ifloop bug for do-while loop --- slither/solc_parsing/declarations/function.py | 60 +++++++++++-------- 1 file changed, 35 insertions(+), 25 deletions(-) diff --git a/slither/solc_parsing/declarations/function.py b/slither/solc_parsing/declarations/function.py index 4365310eb7..3c9fc87334 100644 --- a/slither/solc_parsing/declarations/function.py +++ b/slither/solc_parsing/declarations/function.py @@ -1448,6 +1448,14 @@ def __link_node_immediately_before( new_node.add_father(father) link_nodes(new_node, node_in_cfg) + def __find_start_loop_in_nodes_fathers(self, node: Node) -> Optional[Node]: + begin_loop_node: Optional[Node] = None + for father in node.fathers: + if father.type == NodeType.STARTLOOP: + begin_loop_node = father + break + return begin_loop_node + def _rewrite_ternary_as_if_else(self) -> bool: ternary_found = True updated = False @@ -1471,32 +1479,34 @@ def _rewrite_ternary_as_if_else(self) -> bool: elif node.type == NodeType.IFLOOP: if_loop_node = node - temp_var_node_pre_loop, temp_var = self.__make_temporary_variable_declaration_node( - if_loop_node.expression, - if_loop_node.source_mapping, - if_loop_node.scope, - if_loop_node.function - ) - temp_var_node_during_loop, _ = self.__make_temporary_variable_declaration_node( - if_loop_node.expression, - if_loop_node.source_mapping, - if_loop_node.scope, - if_loop_node.function, - temp_var - ) + begin_loop_node: Optional[Node] = self.__find_start_loop_in_nodes_fathers(if_loop_node) + if begin_loop_node: # if BEGIN_LOOP is IF_LOOP's father, IF_LOOP represents `while` + temp_var_node_pre_loop, temp_var = self.__make_temporary_variable_declaration_node( + if_loop_node.expression, + if_loop_node.source_mapping, + if_loop_node.scope, + if_loop_node.function + ) + temp_var_node_during_loop, _ = self.__make_temporary_variable_declaration_node( + if_loop_node.expression, + if_loop_node.source_mapping, + if_loop_node.scope, + if_loop_node.function, + temp_var + ) + self.__link_node_immediately_before(temp_var_node_during_loop, if_loop_node, begin_loop_node) + self.__link_node_immediately_before(temp_var_node_pre_loop, begin_loop_node) + node_to_be_parsed_instead = temp_var_node_pre_loop + else: + temp_var_node, temp_var = self.__make_temporary_variable_declaration_node( + if_loop_node.expression, + if_loop_node.source_mapping, + if_loop_node.scope, + if_loop_node.function + ) + self.__link_node_immediately_before(temp_var_node, if_loop_node) + node_to_be_parsed_instead = temp_var_node node_variable: Identifier = Identifier(temp_var) - # TODO: fix do while loop case - begin_loop_node: Optional[Node] = None - for father in node.fathers: - if father.type == NodeType.STARTLOOP: - begin_loop_node = father - break - assert begin_loop_node - - self.__link_node_immediately_before(temp_var_node_during_loop, if_loop_node, begin_loop_node) - self.__link_node_immediately_before(temp_var_node_pre_loop, begin_loop_node) - - node_to_be_parsed_instead = temp_var_node_pre_loop else: raise TypeError(f'Unknown conditional type {node.type}') From 21b039e56ecc7bfca8cd016d2600499d68496e01 Mon Sep 17 00:00:00 2001 From: Tiko7454 Date: Thu, 27 Jul 2023 12:03:25 +0400 Subject: [PATCH 04/13] refactor --- slither/solc_parsing/declarations/function.py | 37 +++++-------------- 1 file changed, 10 insertions(+), 27 deletions(-) diff --git a/slither/solc_parsing/declarations/function.py b/slither/solc_parsing/declarations/function.py index 3c9fc87334..89b27e30ea 100644 --- a/slither/solc_parsing/declarations/function.py +++ b/slither/solc_parsing/declarations/function.py @@ -1465,28 +1465,20 @@ def _rewrite_ternary_as_if_else(self) -> bool: has_cond = HasConditional(node.expression) if has_cond.result(): if node.is_conditional(): + temp_var_node, temp_var = self.__make_temporary_variable_declaration_node( + node.expression, + node.source_mapping, + node.scope, + node.function + ) if node.type == NodeType.IF: - if_node = node - temp_var_node, temp_var = self.__make_temporary_variable_declaration_node( - if_node.expression, - if_node.source_mapping, - if_node.scope, - if_node.function - ) - node_variable: Identifier = Identifier(temp_var) - self.__link_node_immediately_before(temp_var_node, if_node) - node_to_be_parsed_instead = temp_var_node + self.__link_node_immediately_before(temp_var_node, node) elif node.type == NodeType.IFLOOP: if_loop_node = node begin_loop_node: Optional[Node] = self.__find_start_loop_in_nodes_fathers(if_loop_node) if begin_loop_node: # if BEGIN_LOOP is IF_LOOP's father, IF_LOOP represents `while` - temp_var_node_pre_loop, temp_var = self.__make_temporary_variable_declaration_node( - if_loop_node.expression, - if_loop_node.source_mapping, - if_loop_node.scope, - if_loop_node.function - ) + temp_var_node_pre_loop = temp_var_node temp_var_node_during_loop, _ = self.__make_temporary_variable_declaration_node( if_loop_node.expression, if_loop_node.source_mapping, @@ -1496,23 +1488,14 @@ def _rewrite_ternary_as_if_else(self) -> bool: ) self.__link_node_immediately_before(temp_var_node_during_loop, if_loop_node, begin_loop_node) self.__link_node_immediately_before(temp_var_node_pre_loop, begin_loop_node) - node_to_be_parsed_instead = temp_var_node_pre_loop else: - temp_var_node, temp_var = self.__make_temporary_variable_declaration_node( - if_loop_node.expression, - if_loop_node.source_mapping, - if_loop_node.scope, - if_loop_node.function - ) self.__link_node_immediately_before(temp_var_node, if_loop_node) - node_to_be_parsed_instead = temp_var_node - node_variable: Identifier = Identifier(temp_var) else: raise TypeError(f'Unknown conditional type {node.type}') - node.add_expression(node_variable, bypass_verif_empty=True) - node = node_to_be_parsed_instead # goes back by cfg + node.add_expression(Identifier(temp_var), bypass_verif_empty=True) + node = temp_var_node # goes back by cfg st = SplitTernaryExpression(node.expression) condition = st.condition if not condition: From d219118c66599d04d18758a29f20b6318dcd1488 Mon Sep 17 00:00:00 2001 From: Tiko7454 Date: Thu, 27 Jul 2023 12:08:37 +0400 Subject: [PATCH 05/13] removed unused import --- slither/solc_parsing/declarations/function.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/slither/solc_parsing/declarations/function.py b/slither/solc_parsing/declarations/function.py index 89b27e30ea..44a9a8f817 100644 --- a/slither/solc_parsing/declarations/function.py +++ b/slither/solc_parsing/declarations/function.py @@ -14,7 +14,7 @@ from slither.core.source_mapping.source_mapping import Source from slither.core.variables.local_variable import LocalVariable from slither.core.variables.local_variable_init_from_tuple import LocalVariableInitFromTuple -from slither.core.solidity_types.elementary_type import ElementaryType, ElementaryTypeName +from slither.core.solidity_types.elementary_type import ElementaryType from slither.solc_parsing.cfg.node import NodeSolc from slither.solc_parsing.declarations.caller_context import CallerContextExpression from slither.solc_parsing.exceptions import ParsingError From e3e4d0ec0ba6c617f6d21b7d2b2b86373f12fdeb Mon Sep 17 00:00:00 2001 From: Tiko7454 Date: Thu, 27 Jul 2023 13:12:52 +0400 Subject: [PATCH 06/13] added tests --- tests/e2e/solc_parsing/test_ast_parsing.py | 20 ++++++++++++++++++ ...rnary-condition-0.4.5.sol-0.4.5-legacy.zip | Bin 0 -> 1880 bytes ...rnary-condition-0.4.5.sol-0.4.6-legacy.zip | Bin 0 -> 1879 bytes ...rnary-condition-0.4.5.sol-0.4.7-legacy.zip | Bin 0 -> 1951 bytes ...rnary-condition-0.4.5.sol-0.4.8-legacy.zip | Bin 0 -> 1959 bytes ...rnary-condition-0.4.5.sol-0.4.9-legacy.zip | Bin 0 -> 1883 bytes ...nary-condition-0.4.5.sol-0.5.0-compact.zip | Bin 0 -> 2320 bytes ...rnary-condition-0.4.5.sol-0.5.0-legacy.zip | Bin 0 -> 2235 bytes ...nary-condition-0.4.5.sol-0.5.1-compact.zip | Bin 0 -> 2319 bytes ...rnary-condition-0.4.5.sol-0.5.1-legacy.zip | Bin 0 -> 2230 bytes ...ary-condition-0.4.5.sol-0.5.10-compact.zip | Bin 0 -> 2315 bytes ...nary-condition-0.4.5.sol-0.5.10-legacy.zip | Bin 0 -> 2228 bytes ...ary-condition-0.4.5.sol-0.5.11-compact.zip | Bin 0 -> 2315 bytes ...nary-condition-0.4.5.sol-0.5.11-legacy.zip | Bin 0 -> 2229 bytes ...ary-condition-0.4.5.sol-0.5.12-compact.zip | Bin 0 -> 2313 bytes ...nary-condition-0.4.5.sol-0.5.12-legacy.zip | Bin 0 -> 2227 bytes ...ary-condition-0.4.5.sol-0.5.13-compact.zip | Bin 0 -> 2313 bytes ...nary-condition-0.4.5.sol-0.5.13-legacy.zip | Bin 0 -> 2228 bytes ...ary-condition-0.4.5.sol-0.5.14-compact.zip | Bin 0 -> 2314 bytes ...nary-condition-0.4.5.sol-0.5.14-legacy.zip | Bin 0 -> 2227 bytes ...ary-condition-0.4.5.sol-0.5.15-compact.zip | Bin 0 -> 2313 bytes ...nary-condition-0.4.5.sol-0.5.15-legacy.zip | Bin 0 -> 2226 bytes ...ary-condition-0.4.5.sol-0.5.16-compact.zip | Bin 0 -> 2313 bytes ...nary-condition-0.4.5.sol-0.5.16-legacy.zip | Bin 0 -> 2227 bytes ...ary-condition-0.4.5.sol-0.5.17-compact.zip | Bin 0 -> 2311 bytes ...nary-condition-0.4.5.sol-0.5.17-legacy.zip | Bin 0 -> 2225 bytes ...nary-condition-0.4.5.sol-0.5.2-compact.zip | Bin 0 -> 2312 bytes ...rnary-condition-0.4.5.sol-0.5.2-legacy.zip | Bin 0 -> 2227 bytes ...nary-condition-0.4.5.sol-0.5.3-compact.zip | Bin 0 -> 2310 bytes ...rnary-condition-0.4.5.sol-0.5.3-legacy.zip | Bin 0 -> 2225 bytes ...nary-condition-0.4.5.sol-0.5.4-compact.zip | Bin 0 -> 2312 bytes ...rnary-condition-0.4.5.sol-0.5.4-legacy.zip | Bin 0 -> 2225 bytes ...nary-condition-0.4.5.sol-0.5.5-compact.zip | Bin 0 -> 2306 bytes ...rnary-condition-0.4.5.sol-0.5.5-legacy.zip | Bin 0 -> 2220 bytes ...nary-condition-0.4.5.sol-0.5.6-compact.zip | Bin 0 -> 2302 bytes ...rnary-condition-0.4.5.sol-0.5.6-legacy.zip | Bin 0 -> 2216 bytes ...nary-condition-0.4.5.sol-0.5.7-compact.zip | Bin 0 -> 2294 bytes ...rnary-condition-0.4.5.sol-0.5.7-legacy.zip | Bin 0 -> 2208 bytes ...nary-condition-0.4.5.sol-0.5.8-compact.zip | Bin 0 -> 2300 bytes ...rnary-condition-0.4.5.sol-0.5.8-legacy.zip | Bin 0 -> 2214 bytes ...nary-condition-0.4.5.sol-0.5.9-compact.zip | Bin 0 -> 2312 bytes ...rnary-condition-0.4.5.sol-0.5.9-legacy.zip | Bin 0 -> 2225 bytes ...nary-condition-0.4.5.sol-0.6.0-compact.zip | Bin 0 -> 2341 bytes ...rnary-condition-0.4.5.sol-0.6.0-legacy.zip | Bin 0 -> 2248 bytes ...nary-condition-0.4.5.sol-0.6.1-compact.zip | Bin 0 -> 2341 bytes ...rnary-condition-0.4.5.sol-0.6.1-legacy.zip | Bin 0 -> 2247 bytes ...ary-condition-0.4.5.sol-0.6.10-compact.zip | Bin 0 -> 2330 bytes ...nary-condition-0.4.5.sol-0.6.10-legacy.zip | Bin 0 -> 2236 bytes ...ary-condition-0.4.5.sol-0.6.11-compact.zip | Bin 0 -> 2330 bytes ...nary-condition-0.4.5.sol-0.6.11-legacy.zip | Bin 0 -> 2238 bytes ...ary-condition-0.4.5.sol-0.6.12-compact.zip | Bin 0 -> 2330 bytes ...nary-condition-0.4.5.sol-0.6.12-legacy.zip | Bin 0 -> 2237 bytes ...nary-condition-0.4.5.sol-0.6.2-compact.zip | Bin 0 -> 2341 bytes ...rnary-condition-0.4.5.sol-0.6.2-legacy.zip | Bin 0 -> 2248 bytes ...nary-condition-0.4.5.sol-0.6.3-compact.zip | Bin 0 -> 2348 bytes ...rnary-condition-0.4.5.sol-0.6.3-legacy.zip | Bin 0 -> 2256 bytes ...nary-condition-0.4.5.sol-0.6.4-compact.zip | Bin 0 -> 2349 bytes ...rnary-condition-0.4.5.sol-0.6.4-legacy.zip | Bin 0 -> 2255 bytes ...nary-condition-0.4.5.sol-0.6.5-compact.zip | Bin 0 -> 2347 bytes ...rnary-condition-0.4.5.sol-0.6.5-legacy.zip | Bin 0 -> 2255 bytes ...nary-condition-0.4.5.sol-0.6.6-compact.zip | Bin 0 -> 2355 bytes ...rnary-condition-0.4.5.sol-0.6.6-legacy.zip | Bin 0 -> 2266 bytes ...nary-condition-0.4.5.sol-0.6.7-compact.zip | Bin 0 -> 2352 bytes ...rnary-condition-0.4.5.sol-0.6.7-legacy.zip | Bin 0 -> 2263 bytes ...nary-condition-0.4.5.sol-0.6.8-compact.zip | Bin 0 -> 2359 bytes ...rnary-condition-0.4.5.sol-0.6.8-legacy.zip | Bin 0 -> 2267 bytes ...nary-condition-0.4.5.sol-0.6.9-compact.zip | Bin 0 -> 2332 bytes ...rnary-condition-0.4.5.sol-0.6.9-legacy.zip | Bin 0 -> 2240 bytes ...nary-condition-0.4.5.sol-0.7.0-compact.zip | Bin 0 -> 2277 bytes ...rnary-condition-0.4.5.sol-0.7.0-legacy.zip | Bin 0 -> 2188 bytes ...nary-condition-0.4.5.sol-0.7.1-compact.zip | Bin 0 -> 2278 bytes ...rnary-condition-0.4.5.sol-0.7.1-legacy.zip | Bin 0 -> 2189 bytes ...nary-condition-0.4.5.sol-0.7.2-compact.zip | Bin 0 -> 2273 bytes ...rnary-condition-0.4.5.sol-0.7.2-legacy.zip | Bin 0 -> 2185 bytes ...nary-condition-0.4.5.sol-0.7.3-compact.zip | Bin 0 -> 2275 bytes ...rnary-condition-0.4.5.sol-0.7.3-legacy.zip | Bin 0 -> 2187 bytes ...nary-condition-0.4.5.sol-0.7.4-compact.zip | Bin 0 -> 2275 bytes ...rnary-condition-0.4.5.sol-0.7.4-legacy.zip | Bin 0 -> 2187 bytes ...nary-condition-0.4.5.sol-0.7.5-compact.zip | Bin 0 -> 2278 bytes ...rnary-condition-0.4.5.sol-0.7.5-legacy.zip | Bin 0 -> 2190 bytes ...nary-condition-0.4.5.sol-0.7.6-compact.zip | Bin 0 -> 2278 bytes ...rnary-condition-0.4.5.sol-0.7.6-legacy.zip | Bin 0 -> 2189 bytes ...nary-condition-0.4.5.sol-0.8.0-compact.zip | Bin 0 -> 2520 bytes ...nary-condition-0.4.5.sol-0.8.1-compact.zip | Bin 0 -> 2524 bytes ...ary-condition-0.4.5.sol-0.8.10-compact.zip | Bin 0 -> 2600 bytes ...ary-condition-0.4.5.sol-0.8.11-compact.zip | Bin 0 -> 2594 bytes ...ary-condition-0.4.5.sol-0.8.12-compact.zip | Bin 0 -> 2600 bytes ...ary-condition-0.4.5.sol-0.8.13-compact.zip | Bin 0 -> 2593 bytes ...ary-condition-0.4.5.sol-0.8.14-compact.zip | Bin 0 -> 2593 bytes ...ary-condition-0.4.5.sol-0.8.15-compact.zip | Bin 0 -> 2591 bytes ...nary-condition-0.4.5.sol-0.8.2-compact.zip | Bin 0 -> 2556 bytes ...nary-condition-0.4.5.sol-0.8.3-compact.zip | Bin 0 -> 2557 bytes ...nary-condition-0.4.5.sol-0.8.4-compact.zip | Bin 0 -> 2580 bytes ...nary-condition-0.4.5.sol-0.8.5-compact.zip | Bin 0 -> 2578 bytes ...nary-condition-0.4.5.sol-0.8.6-compact.zip | Bin 0 -> 2581 bytes ...nary-condition-0.4.5.sol-0.8.7-compact.zip | Bin 0 -> 2584 bytes ...nary-condition-0.4.5.sol-0.8.8-compact.zip | Bin 0 -> 2589 bytes ...nary-condition-0.4.5.sol-0.8.9-compact.zip | Bin 0 -> 2595 bytes ...ternary-condition-all.sol-0.4.0-legacy.zip | Bin 0 -> 2280 bytes ...ternary-condition-all.sol-0.4.1-legacy.zip | Bin 0 -> 2295 bytes ...ernary-condition-all.sol-0.4.10-legacy.zip | Bin 0 -> 2248 bytes ...ernary-condition-all.sol-0.4.11-legacy.zip | Bin 0 -> 2273 bytes ...rnary-condition-all.sol-0.4.12-compact.zip | Bin 0 -> 2744 bytes ...ernary-condition-all.sol-0.4.12-legacy.zip | Bin 0 -> 2574 bytes ...rnary-condition-all.sol-0.4.13-compact.zip | Bin 0 -> 2746 bytes ...ernary-condition-all.sol-0.4.13-legacy.zip | Bin 0 -> 2577 bytes ...rnary-condition-all.sol-0.4.14-compact.zip | Bin 0 -> 2745 bytes ...ernary-condition-all.sol-0.4.14-legacy.zip | Bin 0 -> 2577 bytes ...rnary-condition-all.sol-0.4.15-compact.zip | Bin 0 -> 2743 bytes ...ernary-condition-all.sol-0.4.15-legacy.zip | Bin 0 -> 2575 bytes ...rnary-condition-all.sol-0.4.16-compact.zip | Bin 0 -> 2758 bytes ...ernary-condition-all.sol-0.4.16-legacy.zip | Bin 0 -> 2589 bytes ...rnary-condition-all.sol-0.4.17-compact.zip | Bin 0 -> 2758 bytes ...ernary-condition-all.sol-0.4.17-legacy.zip | Bin 0 -> 2586 bytes ...rnary-condition-all.sol-0.4.18-compact.zip | Bin 0 -> 2768 bytes ...ernary-condition-all.sol-0.4.18-legacy.zip | Bin 0 -> 2597 bytes ...rnary-condition-all.sol-0.4.19-compact.zip | Bin 0 -> 2763 bytes ...ernary-condition-all.sol-0.4.19-legacy.zip | Bin 0 -> 2592 bytes ...ternary-condition-all.sol-0.4.2-legacy.zip | Bin 0 -> 2280 bytes ...rnary-condition-all.sol-0.4.20-compact.zip | Bin 0 -> 2766 bytes ...ernary-condition-all.sol-0.4.20-legacy.zip | Bin 0 -> 2596 bytes ...rnary-condition-all.sol-0.4.21-compact.zip | Bin 0 -> 2767 bytes ...ernary-condition-all.sol-0.4.21-legacy.zip | Bin 0 -> 2596 bytes ...rnary-condition-all.sol-0.4.22-compact.zip | Bin 0 -> 2798 bytes ...ernary-condition-all.sol-0.4.22-legacy.zip | Bin 0 -> 2624 bytes ...rnary-condition-all.sol-0.4.23-compact.zip | Bin 0 -> 2795 bytes ...ernary-condition-all.sol-0.4.23-legacy.zip | Bin 0 -> 2621 bytes ...rnary-condition-all.sol-0.4.24-compact.zip | Bin 0 -> 2801 bytes ...ernary-condition-all.sol-0.4.24-legacy.zip | Bin 0 -> 2625 bytes ...rnary-condition-all.sol-0.4.25-compact.zip | Bin 0 -> 2796 bytes ...ernary-condition-all.sol-0.4.25-legacy.zip | Bin 0 -> 2623 bytes ...rnary-condition-all.sol-0.4.26-compact.zip | Bin 0 -> 2799 bytes ...ernary-condition-all.sol-0.4.26-legacy.zip | Bin 0 -> 2626 bytes ...ternary-condition-all.sol-0.4.3-legacy.zip | Bin 0 -> 2290 bytes ...ternary-condition-all.sol-0.4.4-legacy.zip | Bin 0 -> 2284 bytes ...ternary-condition-all.sol-0.4.5-legacy.zip | Bin 0 -> 2273 bytes ...ternary-condition-all.sol-0.4.6-legacy.zip | Bin 0 -> 2270 bytes ...ternary-condition-all.sol-0.4.7-legacy.zip | Bin 0 -> 2363 bytes ...ternary-condition-all.sol-0.4.8-legacy.zip | Bin 0 -> 2352 bytes ...ternary-condition-all.sol-0.4.9-legacy.zip | Bin 0 -> 2249 bytes ...ernary-condition-all.sol-0.5.0-compact.zip | Bin 0 -> 2786 bytes ...ternary-condition-all.sol-0.5.0-legacy.zip | Bin 0 -> 2638 bytes ...ernary-condition-all.sol-0.5.1-compact.zip | Bin 0 -> 2789 bytes ...ternary-condition-all.sol-0.5.1-legacy.zip | Bin 0 -> 2639 bytes ...rnary-condition-all.sol-0.5.10-compact.zip | Bin 0 -> 2785 bytes ...ernary-condition-all.sol-0.5.10-legacy.zip | Bin 0 -> 2634 bytes ...rnary-condition-all.sol-0.5.11-compact.zip | Bin 0 -> 2783 bytes ...ernary-condition-all.sol-0.5.11-legacy.zip | Bin 0 -> 2631 bytes ...rnary-condition-all.sol-0.5.12-compact.zip | Bin 0 -> 2784 bytes ...ernary-condition-all.sol-0.5.12-legacy.zip | Bin 0 -> 2632 bytes ...rnary-condition-all.sol-0.5.13-compact.zip | Bin 0 -> 2788 bytes ...ernary-condition-all.sol-0.5.13-legacy.zip | Bin 0 -> 2635 bytes ...rnary-condition-all.sol-0.5.14-compact.zip | Bin 0 -> 2786 bytes ...ernary-condition-all.sol-0.5.14-legacy.zip | Bin 0 -> 2634 bytes ...rnary-condition-all.sol-0.5.15-compact.zip | Bin 0 -> 2785 bytes ...ernary-condition-all.sol-0.5.15-legacy.zip | Bin 0 -> 2633 bytes ...rnary-condition-all.sol-0.5.16-compact.zip | Bin 0 -> 2781 bytes ...ernary-condition-all.sol-0.5.16-legacy.zip | Bin 0 -> 2629 bytes ...rnary-condition-all.sol-0.5.17-compact.zip | Bin 0 -> 2784 bytes ...ernary-condition-all.sol-0.5.17-legacy.zip | Bin 0 -> 2630 bytes ...ernary-condition-all.sol-0.5.2-compact.zip | Bin 0 -> 2774 bytes ...ternary-condition-all.sol-0.5.2-legacy.zip | Bin 0 -> 2624 bytes ...ernary-condition-all.sol-0.5.3-compact.zip | Bin 0 -> 2778 bytes ...ternary-condition-all.sol-0.5.3-legacy.zip | Bin 0 -> 2629 bytes ...ernary-condition-all.sol-0.5.4-compact.zip | Bin 0 -> 2777 bytes ...ternary-condition-all.sol-0.5.4-legacy.zip | Bin 0 -> 2627 bytes ...ernary-condition-all.sol-0.5.5-compact.zip | Bin 0 -> 2771 bytes ...ternary-condition-all.sol-0.5.5-legacy.zip | Bin 0 -> 2622 bytes ...ernary-condition-all.sol-0.5.6-compact.zip | Bin 0 -> 2772 bytes ...ternary-condition-all.sol-0.5.6-legacy.zip | Bin 0 -> 2623 bytes ...ernary-condition-all.sol-0.5.7-compact.zip | Bin 0 -> 2770 bytes ...ternary-condition-all.sol-0.5.7-legacy.zip | Bin 0 -> 2620 bytes ...ernary-condition-all.sol-0.5.8-compact.zip | Bin 0 -> 2773 bytes ...ternary-condition-all.sol-0.5.8-legacy.zip | Bin 0 -> 2624 bytes ...ernary-condition-all.sol-0.5.9-compact.zip | Bin 0 -> 2783 bytes ...ternary-condition-all.sol-0.5.9-legacy.zip | Bin 0 -> 2632 bytes ...ernary-condition-all.sol-0.6.0-compact.zip | Bin 0 -> 2808 bytes ...ternary-condition-all.sol-0.6.0-legacy.zip | Bin 0 -> 2650 bytes ...ernary-condition-all.sol-0.6.1-compact.zip | Bin 0 -> 2811 bytes ...ternary-condition-all.sol-0.6.1-legacy.zip | Bin 0 -> 2655 bytes ...rnary-condition-all.sol-0.6.10-compact.zip | Bin 0 -> 2802 bytes ...ernary-condition-all.sol-0.6.10-legacy.zip | Bin 0 -> 2648 bytes ...rnary-condition-all.sol-0.6.11-compact.zip | Bin 0 -> 2806 bytes ...ernary-condition-all.sol-0.6.11-legacy.zip | Bin 0 -> 2649 bytes ...rnary-condition-all.sol-0.6.12-compact.zip | Bin 0 -> 2789 bytes ...ernary-condition-all.sol-0.6.12-legacy.zip | Bin 0 -> 2628 bytes ...ernary-condition-all.sol-0.6.2-compact.zip | Bin 0 -> 2809 bytes ...ternary-condition-all.sol-0.6.2-legacy.zip | Bin 0 -> 2654 bytes ...ernary-condition-all.sol-0.6.3-compact.zip | Bin 0 -> 2815 bytes ...ternary-condition-all.sol-0.6.3-legacy.zip | Bin 0 -> 2663 bytes ...ernary-condition-all.sol-0.6.4-compact.zip | Bin 0 -> 2813 bytes ...ternary-condition-all.sol-0.6.4-legacy.zip | Bin 0 -> 2661 bytes ...ernary-condition-all.sol-0.6.5-compact.zip | Bin 0 -> 2816 bytes ...ternary-condition-all.sol-0.6.5-legacy.zip | Bin 0 -> 2664 bytes ...ernary-condition-all.sol-0.6.6-compact.zip | Bin 0 -> 2828 bytes ...ternary-condition-all.sol-0.6.6-legacy.zip | Bin 0 -> 2677 bytes ...ernary-condition-all.sol-0.6.7-compact.zip | Bin 0 -> 2823 bytes ...ternary-condition-all.sol-0.6.7-legacy.zip | Bin 0 -> 2673 bytes ...ernary-condition-all.sol-0.6.8-compact.zip | Bin 0 -> 2828 bytes ...ternary-condition-all.sol-0.6.8-legacy.zip | Bin 0 -> 2678 bytes ...ernary-condition-all.sol-0.6.9-compact.zip | Bin 0 -> 2803 bytes ...ternary-condition-all.sol-0.6.9-legacy.zip | Bin 0 -> 2653 bytes ...ernary-condition-all.sol-0.7.0-compact.zip | Bin 0 -> 2731 bytes ...ternary-condition-all.sol-0.7.0-legacy.zip | Bin 0 -> 2570 bytes ...ernary-condition-all.sol-0.7.1-compact.zip | Bin 0 -> 2731 bytes ...ternary-condition-all.sol-0.7.1-legacy.zip | Bin 0 -> 2571 bytes ...ernary-condition-all.sol-0.7.2-compact.zip | Bin 0 -> 2731 bytes ...ternary-condition-all.sol-0.7.2-legacy.zip | Bin 0 -> 2573 bytes ...ernary-condition-all.sol-0.7.3-compact.zip | Bin 0 -> 2735 bytes ...ternary-condition-all.sol-0.7.3-legacy.zip | Bin 0 -> 2574 bytes ...ernary-condition-all.sol-0.7.4-compact.zip | Bin 0 -> 2732 bytes ...ternary-condition-all.sol-0.7.4-legacy.zip | Bin 0 -> 2572 bytes ...ernary-condition-all.sol-0.7.5-compact.zip | Bin 0 -> 2734 bytes ...ternary-condition-all.sol-0.7.5-legacy.zip | Bin 0 -> 2573 bytes ...ernary-condition-all.sol-0.7.6-compact.zip | Bin 0 -> 2729 bytes ...ternary-condition-all.sol-0.7.6-legacy.zip | Bin 0 -> 2569 bytes ...ernary-condition-all.sol-0.8.0-compact.zip | Bin 0 -> 2986 bytes ...ernary-condition-all.sol-0.8.1-compact.zip | Bin 0 -> 2986 bytes ...rnary-condition-all.sol-0.8.10-compact.zip | Bin 0 -> 3055 bytes ...rnary-condition-all.sol-0.8.11-compact.zip | Bin 0 -> 3057 bytes ...rnary-condition-all.sol-0.8.12-compact.zip | Bin 0 -> 3056 bytes ...rnary-condition-all.sol-0.8.13-compact.zip | Bin 0 -> 3056 bytes ...rnary-condition-all.sol-0.8.14-compact.zip | Bin 0 -> 3055 bytes ...rnary-condition-all.sol-0.8.15-compact.zip | Bin 0 -> 3055 bytes ...ernary-condition-all.sol-0.8.2-compact.zip | Bin 0 -> 3018 bytes ...ernary-condition-all.sol-0.8.3-compact.zip | Bin 0 -> 3018 bytes ...ernary-condition-all.sol-0.8.4-compact.zip | Bin 0 -> 3037 bytes ...ernary-condition-all.sol-0.8.5-compact.zip | Bin 0 -> 3045 bytes ...ernary-condition-all.sol-0.8.6-compact.zip | Bin 0 -> 3044 bytes ...ernary-condition-all.sol-0.8.7-compact.zip | Bin 0 -> 3045 bytes ...ernary-condition-all.sol-0.8.8-compact.zip | Bin 0 -> 3045 bytes ...ernary-condition-all.sol-0.8.9-compact.zip | Bin 0 -> 3056 bytes ...ternary-condition-all.sol-0.4.0-legacy.zip | Bin 0 -> 1977 bytes ...ternary-condition-all.sol-0.4.1-legacy.zip | Bin 0 -> 1976 bytes ...ernary-condition-all.sol-0.4.10-legacy.zip | Bin 0 -> 1968 bytes ...ernary-condition-all.sol-0.4.11-legacy.zip | Bin 0 -> 1996 bytes ...rnary-condition-all.sol-0.4.12-compact.zip | Bin 0 -> 2407 bytes ...ernary-condition-all.sol-0.4.12-legacy.zip | Bin 0 -> 2283 bytes ...rnary-condition-all.sol-0.4.13-compact.zip | Bin 0 -> 2407 bytes ...ernary-condition-all.sol-0.4.13-legacy.zip | Bin 0 -> 2281 bytes ...rnary-condition-all.sol-0.4.14-compact.zip | Bin 0 -> 2408 bytes ...ernary-condition-all.sol-0.4.14-legacy.zip | Bin 0 -> 2284 bytes ...rnary-condition-all.sol-0.4.15-compact.zip | Bin 0 -> 2407 bytes ...ernary-condition-all.sol-0.4.15-legacy.zip | Bin 0 -> 2281 bytes ...rnary-condition-all.sol-0.4.16-compact.zip | Bin 0 -> 2412 bytes ...ernary-condition-all.sol-0.4.16-legacy.zip | Bin 0 -> 2290 bytes ...rnary-condition-all.sol-0.4.17-compact.zip | Bin 0 -> 2415 bytes ...ernary-condition-all.sol-0.4.17-legacy.zip | Bin 0 -> 2291 bytes ...rnary-condition-all.sol-0.4.18-compact.zip | Bin 0 -> 2427 bytes ...ernary-condition-all.sol-0.4.18-legacy.zip | Bin 0 -> 2303 bytes ...rnary-condition-all.sol-0.4.19-compact.zip | Bin 0 -> 2425 bytes ...ernary-condition-all.sol-0.4.19-legacy.zip | Bin 0 -> 2299 bytes ...ternary-condition-all.sol-0.4.2-legacy.zip | Bin 0 -> 1979 bytes ...rnary-condition-all.sol-0.4.20-compact.zip | Bin 0 -> 2428 bytes ...ernary-condition-all.sol-0.4.20-legacy.zip | Bin 0 -> 2302 bytes ...rnary-condition-all.sol-0.4.21-compact.zip | Bin 0 -> 2431 bytes ...ernary-condition-all.sol-0.4.21-legacy.zip | Bin 0 -> 2307 bytes ...rnary-condition-all.sol-0.4.22-compact.zip | Bin 0 -> 2457 bytes ...ernary-condition-all.sol-0.4.22-legacy.zip | Bin 0 -> 2329 bytes ...rnary-condition-all.sol-0.4.23-compact.zip | Bin 0 -> 2460 bytes ...ernary-condition-all.sol-0.4.23-legacy.zip | Bin 0 -> 2331 bytes ...rnary-condition-all.sol-0.4.24-compact.zip | Bin 0 -> 2459 bytes ...ernary-condition-all.sol-0.4.24-legacy.zip | Bin 0 -> 2330 bytes ...rnary-condition-all.sol-0.4.25-compact.zip | Bin 0 -> 2458 bytes ...ernary-condition-all.sol-0.4.25-legacy.zip | Bin 0 -> 2332 bytes ...rnary-condition-all.sol-0.4.26-compact.zip | Bin 0 -> 2462 bytes ...ernary-condition-all.sol-0.4.26-legacy.zip | Bin 0 -> 2332 bytes ...ternary-condition-all.sol-0.4.3-legacy.zip | Bin 0 -> 1977 bytes ...ternary-condition-all.sol-0.4.4-legacy.zip | Bin 0 -> 1980 bytes ...ternary-condition-all.sol-0.4.5-legacy.zip | Bin 0 -> 1983 bytes ...ternary-condition-all.sol-0.4.6-legacy.zip | Bin 0 -> 1980 bytes ...ternary-condition-all.sol-0.4.7-legacy.zip | Bin 0 -> 2058 bytes ...ternary-condition-all.sol-0.4.8-legacy.zip | Bin 0 -> 2053 bytes ...ternary-condition-all.sol-0.4.9-legacy.zip | Bin 0 -> 1969 bytes ...ernary-condition-all.sol-0.5.0-compact.zip | Bin 0 -> 2444 bytes ...ternary-condition-all.sol-0.5.0-legacy.zip | Bin 0 -> 2334 bytes ...ernary-condition-all.sol-0.5.1-compact.zip | Bin 0 -> 2442 bytes ...ternary-condition-all.sol-0.5.1-legacy.zip | Bin 0 -> 2336 bytes ...rnary-condition-all.sol-0.5.10-compact.zip | Bin 0 -> 2445 bytes ...ernary-condition-all.sol-0.5.10-legacy.zip | Bin 0 -> 2333 bytes ...rnary-condition-all.sol-0.5.11-compact.zip | Bin 0 -> 2445 bytes ...ernary-condition-all.sol-0.5.11-legacy.zip | Bin 0 -> 2334 bytes ...rnary-condition-all.sol-0.5.12-compact.zip | Bin 0 -> 2448 bytes ...ernary-condition-all.sol-0.5.12-legacy.zip | Bin 0 -> 2337 bytes ...rnary-condition-all.sol-0.5.13-compact.zip | Bin 0 -> 2442 bytes ...ernary-condition-all.sol-0.5.13-legacy.zip | Bin 0 -> 2334 bytes ...rnary-condition-all.sol-0.5.14-compact.zip | Bin 0 -> 2446 bytes ...ernary-condition-all.sol-0.5.14-legacy.zip | Bin 0 -> 2335 bytes ...rnary-condition-all.sol-0.5.15-compact.zip | Bin 0 -> 2445 bytes ...ernary-condition-all.sol-0.5.15-legacy.zip | Bin 0 -> 2334 bytes ...rnary-condition-all.sol-0.5.16-compact.zip | Bin 0 -> 2447 bytes ...ernary-condition-all.sol-0.5.16-legacy.zip | Bin 0 -> 2334 bytes ...rnary-condition-all.sol-0.5.17-compact.zip | Bin 0 -> 2445 bytes ...ernary-condition-all.sol-0.5.17-legacy.zip | Bin 0 -> 2334 bytes ...ernary-condition-all.sol-0.5.2-compact.zip | Bin 0 -> 2432 bytes ...ternary-condition-all.sol-0.5.2-legacy.zip | Bin 0 -> 2324 bytes ...ernary-condition-all.sol-0.5.3-compact.zip | Bin 0 -> 2437 bytes ...ternary-condition-all.sol-0.5.3-legacy.zip | Bin 0 -> 2330 bytes ...ernary-condition-all.sol-0.5.4-compact.zip | Bin 0 -> 2435 bytes ...ternary-condition-all.sol-0.5.4-legacy.zip | Bin 0 -> 2330 bytes ...ernary-condition-all.sol-0.5.5-compact.zip | Bin 0 -> 2427 bytes ...ternary-condition-all.sol-0.5.5-legacy.zip | Bin 0 -> 2321 bytes ...ernary-condition-all.sol-0.5.6-compact.zip | Bin 0 -> 2433 bytes ...ternary-condition-all.sol-0.5.6-legacy.zip | Bin 0 -> 2323 bytes ...ernary-condition-all.sol-0.5.7-compact.zip | Bin 0 -> 2432 bytes ...ternary-condition-all.sol-0.5.7-legacy.zip | Bin 0 -> 2322 bytes ...ernary-condition-all.sol-0.5.8-compact.zip | Bin 0 -> 2431 bytes ...ternary-condition-all.sol-0.5.8-legacy.zip | Bin 0 -> 2321 bytes ...ernary-condition-all.sol-0.5.9-compact.zip | Bin 0 -> 2442 bytes ...ternary-condition-all.sol-0.5.9-legacy.zip | Bin 0 -> 2332 bytes ...ernary-condition-all.sol-0.6.0-compact.zip | Bin 0 -> 2470 bytes ...ternary-condition-all.sol-0.6.0-legacy.zip | Bin 0 -> 2357 bytes ...ernary-condition-all.sol-0.6.1-compact.zip | Bin 0 -> 2466 bytes ...ternary-condition-all.sol-0.6.1-legacy.zip | Bin 0 -> 2355 bytes ...rnary-condition-all.sol-0.6.10-compact.zip | Bin 0 -> 2456 bytes ...ernary-condition-all.sol-0.6.10-legacy.zip | Bin 0 -> 2353 bytes ...rnary-condition-all.sol-0.6.11-compact.zip | Bin 0 -> 2453 bytes ...ernary-condition-all.sol-0.6.11-legacy.zip | Bin 0 -> 2350 bytes ...rnary-condition-all.sol-0.6.12-compact.zip | Bin 0 -> 2455 bytes ...ernary-condition-all.sol-0.6.12-legacy.zip | Bin 0 -> 2351 bytes ...ernary-condition-all.sol-0.6.2-compact.zip | Bin 0 -> 2467 bytes ...ternary-condition-all.sol-0.6.2-legacy.zip | Bin 0 -> 2356 bytes ...ernary-condition-all.sol-0.6.3-compact.zip | Bin 0 -> 2471 bytes ...ternary-condition-all.sol-0.6.3-legacy.zip | Bin 0 -> 2362 bytes ...ernary-condition-all.sol-0.6.4-compact.zip | Bin 0 -> 2476 bytes ...ternary-condition-all.sol-0.6.4-legacy.zip | Bin 0 -> 2368 bytes ...ernary-condition-all.sol-0.6.5-compact.zip | Bin 0 -> 2472 bytes ...ternary-condition-all.sol-0.6.5-legacy.zip | Bin 0 -> 2364 bytes ...ernary-condition-all.sol-0.6.6-compact.zip | Bin 0 -> 2479 bytes ...ternary-condition-all.sol-0.6.6-legacy.zip | Bin 0 -> 2378 bytes ...ernary-condition-all.sol-0.6.7-compact.zip | Bin 0 -> 2476 bytes ...ternary-condition-all.sol-0.6.7-legacy.zip | Bin 0 -> 2372 bytes ...ernary-condition-all.sol-0.6.8-compact.zip | Bin 0 -> 2483 bytes ...ternary-condition-all.sol-0.6.8-legacy.zip | Bin 0 -> 2379 bytes ...ernary-condition-all.sol-0.6.9-compact.zip | Bin 0 -> 2452 bytes ...ternary-condition-all.sol-0.6.9-legacy.zip | Bin 0 -> 2347 bytes ...ernary-condition-all.sol-0.7.0-compact.zip | Bin 0 -> 2402 bytes ...ternary-condition-all.sol-0.7.0-legacy.zip | Bin 0 -> 2287 bytes ...ernary-condition-all.sol-0.7.1-compact.zip | Bin 0 -> 2402 bytes ...ternary-condition-all.sol-0.7.1-legacy.zip | Bin 0 -> 2289 bytes ...ernary-condition-all.sol-0.7.2-compact.zip | Bin 0 -> 2402 bytes ...ternary-condition-all.sol-0.7.2-legacy.zip | Bin 0 -> 2286 bytes ...ernary-condition-all.sol-0.7.3-compact.zip | Bin 0 -> 2401 bytes ...ternary-condition-all.sol-0.7.3-legacy.zip | Bin 0 -> 2285 bytes ...ernary-condition-all.sol-0.7.4-compact.zip | Bin 0 -> 2398 bytes ...ternary-condition-all.sol-0.7.4-legacy.zip | Bin 0 -> 2283 bytes ...ernary-condition-all.sol-0.7.5-compact.zip | Bin 0 -> 2397 bytes ...ternary-condition-all.sol-0.7.5-legacy.zip | Bin 0 -> 2282 bytes ...ernary-condition-all.sol-0.7.6-compact.zip | Bin 0 -> 2402 bytes ...ternary-condition-all.sol-0.7.6-legacy.zip | Bin 0 -> 2289 bytes ...ernary-condition-all.sol-0.8.0-compact.zip | Bin 0 -> 2644 bytes ...ernary-condition-all.sol-0.8.1-compact.zip | Bin 0 -> 2645 bytes ...rnary-condition-all.sol-0.8.10-compact.zip | Bin 0 -> 2713 bytes ...rnary-condition-all.sol-0.8.11-compact.zip | Bin 0 -> 2714 bytes ...rnary-condition-all.sol-0.8.12-compact.zip | Bin 0 -> 2710 bytes ...rnary-condition-all.sol-0.8.13-compact.zip | Bin 0 -> 2711 bytes ...rnary-condition-all.sol-0.8.14-compact.zip | Bin 0 -> 2708 bytes ...rnary-condition-all.sol-0.8.15-compact.zip | Bin 0 -> 2711 bytes ...ernary-condition-all.sol-0.8.2-compact.zip | Bin 0 -> 2678 bytes ...ernary-condition-all.sol-0.8.3-compact.zip | Bin 0 -> 2681 bytes ...ernary-condition-all.sol-0.8.4-compact.zip | Bin 0 -> 2700 bytes ...ernary-condition-all.sol-0.8.5-compact.zip | Bin 0 -> 2707 bytes ...ernary-condition-all.sol-0.8.6-compact.zip | Bin 0 -> 2706 bytes ...ernary-condition-all.sol-0.8.7-compact.zip | Bin 0 -> 2710 bytes ...ernary-condition-all.sol-0.8.8-compact.zip | Bin 0 -> 2704 bytes ...ernary-condition-all.sol-0.8.9-compact.zip | Bin 0 -> 2713 bytes ...ternary-condition-all.sol-0.4.0-legacy.zip | Bin 0 -> 1807 bytes ...ternary-condition-all.sol-0.4.1-legacy.zip | Bin 0 -> 1810 bytes ...ernary-condition-all.sol-0.4.10-legacy.zip | Bin 0 -> 1817 bytes ...ernary-condition-all.sol-0.4.11-legacy.zip | Bin 0 -> 1847 bytes ...rnary-condition-all.sol-0.4.12-compact.zip | Bin 0 -> 2234 bytes ...ernary-condition-all.sol-0.4.12-legacy.zip | Bin 0 -> 2119 bytes ...rnary-condition-all.sol-0.4.13-compact.zip | Bin 0 -> 2234 bytes ...ernary-condition-all.sol-0.4.13-legacy.zip | Bin 0 -> 2119 bytes ...rnary-condition-all.sol-0.4.14-compact.zip | Bin 0 -> 2235 bytes ...ernary-condition-all.sol-0.4.14-legacy.zip | Bin 0 -> 2121 bytes ...rnary-condition-all.sol-0.4.15-compact.zip | Bin 0 -> 2235 bytes ...ernary-condition-all.sol-0.4.15-legacy.zip | Bin 0 -> 2120 bytes ...rnary-condition-all.sol-0.4.16-compact.zip | Bin 0 -> 2244 bytes ...ernary-condition-all.sol-0.4.16-legacy.zip | Bin 0 -> 2131 bytes ...rnary-condition-all.sol-0.4.17-compact.zip | Bin 0 -> 2247 bytes ...ernary-condition-all.sol-0.4.17-legacy.zip | Bin 0 -> 2135 bytes ...rnary-condition-all.sol-0.4.18-compact.zip | Bin 0 -> 2255 bytes ...ernary-condition-all.sol-0.4.18-legacy.zip | Bin 0 -> 2142 bytes ...rnary-condition-all.sol-0.4.19-compact.zip | Bin 0 -> 2255 bytes ...ernary-condition-all.sol-0.4.19-legacy.zip | Bin 0 -> 2143 bytes ...ternary-condition-all.sol-0.4.2-legacy.zip | Bin 0 -> 1807 bytes ...rnary-condition-all.sol-0.4.20-compact.zip | Bin 0 -> 2256 bytes ...ernary-condition-all.sol-0.4.20-legacy.zip | Bin 0 -> 2143 bytes ...rnary-condition-all.sol-0.4.21-compact.zip | Bin 0 -> 2259 bytes ...ernary-condition-all.sol-0.4.21-legacy.zip | Bin 0 -> 2143 bytes ...rnary-condition-all.sol-0.4.22-compact.zip | Bin 0 -> 2290 bytes ...ernary-condition-all.sol-0.4.22-legacy.zip | Bin 0 -> 2173 bytes ...rnary-condition-all.sol-0.4.23-compact.zip | Bin 0 -> 2290 bytes ...ernary-condition-all.sol-0.4.23-legacy.zip | Bin 0 -> 2174 bytes ...rnary-condition-all.sol-0.4.24-compact.zip | Bin 0 -> 2291 bytes ...ernary-condition-all.sol-0.4.24-legacy.zip | Bin 0 -> 2175 bytes ...rnary-condition-all.sol-0.4.25-compact.zip | Bin 0 -> 2290 bytes ...ernary-condition-all.sol-0.4.25-legacy.zip | Bin 0 -> 2173 bytes ...rnary-condition-all.sol-0.4.26-compact.zip | Bin 0 -> 2293 bytes ...ernary-condition-all.sol-0.4.26-legacy.zip | Bin 0 -> 2177 bytes ...ternary-condition-all.sol-0.4.3-legacy.zip | Bin 0 -> 1806 bytes ...ternary-condition-all.sol-0.4.4-legacy.zip | Bin 0 -> 1808 bytes ...ternary-condition-all.sol-0.4.5-legacy.zip | Bin 0 -> 1812 bytes ...ternary-condition-all.sol-0.4.6-legacy.zip | Bin 0 -> 1814 bytes ...ternary-condition-all.sol-0.4.7-legacy.zip | Bin 0 -> 1885 bytes ...ternary-condition-all.sol-0.4.8-legacy.zip | Bin 0 -> 1893 bytes ...ternary-condition-all.sol-0.4.9-legacy.zip | Bin 0 -> 1820 bytes ...ernary-condition-all.sol-0.5.0-compact.zip | Bin 0 -> 2277 bytes ...ternary-condition-all.sol-0.5.0-legacy.zip | Bin 0 -> 2179 bytes ...ernary-condition-all.sol-0.5.1-compact.zip | Bin 0 -> 2278 bytes ...ternary-condition-all.sol-0.5.1-legacy.zip | Bin 0 -> 2179 bytes ...rnary-condition-all.sol-0.5.10-compact.zip | Bin 0 -> 2269 bytes ...ernary-condition-all.sol-0.5.10-legacy.zip | Bin 0 -> 2173 bytes ...rnary-condition-all.sol-0.5.11-compact.zip | Bin 0 -> 2271 bytes ...ernary-condition-all.sol-0.5.11-legacy.zip | Bin 0 -> 2174 bytes ...rnary-condition-all.sol-0.5.12-compact.zip | Bin 0 -> 2272 bytes ...ernary-condition-all.sol-0.5.12-legacy.zip | Bin 0 -> 2175 bytes ...rnary-condition-all.sol-0.5.13-compact.zip | Bin 0 -> 2270 bytes ...ernary-condition-all.sol-0.5.13-legacy.zip | Bin 0 -> 2174 bytes ...rnary-condition-all.sol-0.5.14-compact.zip | Bin 0 -> 2269 bytes ...ernary-condition-all.sol-0.5.14-legacy.zip | Bin 0 -> 2174 bytes ...rnary-condition-all.sol-0.5.15-compact.zip | Bin 0 -> 2271 bytes ...ernary-condition-all.sol-0.5.15-legacy.zip | Bin 0 -> 2174 bytes ...rnary-condition-all.sol-0.5.16-compact.zip | Bin 0 -> 2269 bytes ...ernary-condition-all.sol-0.5.16-legacy.zip | Bin 0 -> 2173 bytes ...rnary-condition-all.sol-0.5.17-compact.zip | Bin 0 -> 2268 bytes ...ernary-condition-all.sol-0.5.17-legacy.zip | Bin 0 -> 2171 bytes ...ernary-condition-all.sol-0.5.2-compact.zip | Bin 0 -> 2266 bytes ...ternary-condition-all.sol-0.5.2-legacy.zip | Bin 0 -> 2166 bytes ...ernary-condition-all.sol-0.5.3-compact.zip | Bin 0 -> 2269 bytes ...ternary-condition-all.sol-0.5.3-legacy.zip | Bin 0 -> 2170 bytes ...ernary-condition-all.sol-0.5.4-compact.zip | Bin 0 -> 2268 bytes ...ternary-condition-all.sol-0.5.4-legacy.zip | Bin 0 -> 2170 bytes ...ernary-condition-all.sol-0.5.5-compact.zip | Bin 0 -> 2259 bytes ...ternary-condition-all.sol-0.5.5-legacy.zip | Bin 0 -> 2161 bytes ...ernary-condition-all.sol-0.5.6-compact.zip | Bin 0 -> 2259 bytes ...ternary-condition-all.sol-0.5.6-legacy.zip | Bin 0 -> 2163 bytes ...ernary-condition-all.sol-0.5.7-compact.zip | Bin 0 -> 2257 bytes ...ternary-condition-all.sol-0.5.7-legacy.zip | Bin 0 -> 2162 bytes ...ernary-condition-all.sol-0.5.8-compact.zip | Bin 0 -> 2259 bytes ...ternary-condition-all.sol-0.5.8-legacy.zip | Bin 0 -> 2163 bytes ...ernary-condition-all.sol-0.5.9-compact.zip | Bin 0 -> 2265 bytes ...ternary-condition-all.sol-0.5.9-legacy.zip | Bin 0 -> 2170 bytes ...ernary-condition-all.sol-0.6.0-compact.zip | Bin 0 -> 2304 bytes ...ternary-condition-all.sol-0.6.0-legacy.zip | Bin 0 -> 2191 bytes ...ernary-condition-all.sol-0.6.1-compact.zip | Bin 0 -> 2302 bytes ...ternary-condition-all.sol-0.6.1-legacy.zip | Bin 0 -> 2191 bytes ...rnary-condition-all.sol-0.6.10-compact.zip | Bin 0 -> 2292 bytes ...ernary-condition-all.sol-0.6.10-legacy.zip | Bin 0 -> 2186 bytes ...rnary-condition-all.sol-0.6.11-compact.zip | Bin 0 -> 2291 bytes ...ernary-condition-all.sol-0.6.11-legacy.zip | Bin 0 -> 2184 bytes ...rnary-condition-all.sol-0.6.12-compact.zip | Bin 0 -> 2292 bytes ...ernary-condition-all.sol-0.6.12-legacy.zip | Bin 0 -> 2185 bytes ...ernary-condition-all.sol-0.6.2-compact.zip | Bin 0 -> 2302 bytes ...ternary-condition-all.sol-0.6.2-legacy.zip | Bin 0 -> 2191 bytes ...ernary-condition-all.sol-0.6.3-compact.zip | Bin 0 -> 2313 bytes ...ternary-condition-all.sol-0.6.3-legacy.zip | Bin 0 -> 2202 bytes ...ernary-condition-all.sol-0.6.4-compact.zip | Bin 0 -> 2312 bytes ...ternary-condition-all.sol-0.6.4-legacy.zip | Bin 0 -> 2202 bytes ...ernary-condition-all.sol-0.6.5-compact.zip | Bin 0 -> 2312 bytes ...ternary-condition-all.sol-0.6.5-legacy.zip | Bin 0 -> 2202 bytes ...ernary-condition-all.sol-0.6.6-compact.zip | Bin 0 -> 2308 bytes ...ternary-condition-all.sol-0.6.6-legacy.zip | Bin 0 -> 2204 bytes ...ernary-condition-all.sol-0.6.7-compact.zip | Bin 0 -> 2316 bytes ...ternary-condition-all.sol-0.6.7-legacy.zip | Bin 0 -> 2212 bytes ...ernary-condition-all.sol-0.6.8-compact.zip | Bin 0 -> 2320 bytes ...ternary-condition-all.sol-0.6.8-legacy.zip | Bin 0 -> 2214 bytes ...ernary-condition-all.sol-0.6.9-compact.zip | Bin 0 -> 2291 bytes ...ternary-condition-all.sol-0.6.9-legacy.zip | Bin 0 -> 2184 bytes ...ernary-condition-all.sol-0.7.0-compact.zip | Bin 0 -> 2234 bytes ...ternary-condition-all.sol-0.7.0-legacy.zip | Bin 0 -> 2133 bytes ...ernary-condition-all.sol-0.7.1-compact.zip | Bin 0 -> 2235 bytes ...ternary-condition-all.sol-0.7.1-legacy.zip | Bin 0 -> 2133 bytes ...ernary-condition-all.sol-0.7.2-compact.zip | Bin 0 -> 2235 bytes ...ternary-condition-all.sol-0.7.2-legacy.zip | Bin 0 -> 2134 bytes ...ernary-condition-all.sol-0.7.3-compact.zip | Bin 0 -> 2235 bytes ...ternary-condition-all.sol-0.7.3-legacy.zip | Bin 0 -> 2135 bytes ...ernary-condition-all.sol-0.7.4-compact.zip | Bin 0 -> 2234 bytes ...ternary-condition-all.sol-0.7.4-legacy.zip | Bin 0 -> 2133 bytes ...ernary-condition-all.sol-0.7.5-compact.zip | Bin 0 -> 2231 bytes ...ternary-condition-all.sol-0.7.5-legacy.zip | Bin 0 -> 2131 bytes ...ernary-condition-all.sol-0.7.6-compact.zip | Bin 0 -> 2234 bytes ...ternary-condition-all.sol-0.7.6-legacy.zip | Bin 0 -> 2134 bytes ...ernary-condition-all.sol-0.8.0-compact.zip | Bin 0 -> 2486 bytes ...ernary-condition-all.sol-0.8.1-compact.zip | Bin 0 -> 2486 bytes ...rnary-condition-all.sol-0.8.10-compact.zip | Bin 0 -> 2550 bytes ...rnary-condition-all.sol-0.8.11-compact.zip | Bin 0 -> 2553 bytes ...rnary-condition-all.sol-0.8.12-compact.zip | Bin 0 -> 2554 bytes ...rnary-condition-all.sol-0.8.13-compact.zip | Bin 0 -> 2552 bytes ...rnary-condition-all.sol-0.8.14-compact.zip | Bin 0 -> 2551 bytes ...rnary-condition-all.sol-0.8.15-compact.zip | Bin 0 -> 2551 bytes ...ernary-condition-all.sol-0.8.2-compact.zip | Bin 0 -> 2515 bytes ...ernary-condition-all.sol-0.8.3-compact.zip | Bin 0 -> 2516 bytes ...ernary-condition-all.sol-0.8.4-compact.zip | Bin 0 -> 2536 bytes ...ernary-condition-all.sol-0.8.5-compact.zip | Bin 0 -> 2540 bytes ...ernary-condition-all.sol-0.8.6-compact.zip | Bin 0 -> 2537 bytes ...ernary-condition-all.sol-0.8.7-compact.zip | Bin 0 -> 2542 bytes ...ernary-condition-all.sol-0.8.8-compact.zip | Bin 0 -> 2543 bytes ...ernary-condition-all.sol-0.8.9-compact.zip | Bin 0 -> 2555 bytes ...ternary-condition-all.sol-0.4.0-legacy.zip | Bin 0 -> 2003 bytes ...ternary-condition-all.sol-0.4.1-legacy.zip | Bin 0 -> 2001 bytes ...ernary-condition-all.sol-0.4.10-legacy.zip | Bin 0 -> 2005 bytes ...ernary-condition-all.sol-0.4.11-legacy.zip | Bin 0 -> 2032 bytes ...rnary-condition-all.sol-0.4.12-compact.zip | Bin 0 -> 2435 bytes ...ernary-condition-all.sol-0.4.12-legacy.zip | Bin 0 -> 2305 bytes ...rnary-condition-all.sol-0.4.13-compact.zip | Bin 0 -> 2432 bytes ...ernary-condition-all.sol-0.4.13-legacy.zip | Bin 0 -> 2304 bytes ...rnary-condition-all.sol-0.4.14-compact.zip | Bin 0 -> 2434 bytes ...ernary-condition-all.sol-0.4.14-legacy.zip | Bin 0 -> 2305 bytes ...rnary-condition-all.sol-0.4.15-compact.zip | Bin 0 -> 2429 bytes ...ernary-condition-all.sol-0.4.15-legacy.zip | Bin 0 -> 2299 bytes ...rnary-condition-all.sol-0.4.16-compact.zip | Bin 0 -> 2445 bytes ...ernary-condition-all.sol-0.4.16-legacy.zip | Bin 0 -> 2318 bytes ...rnary-condition-all.sol-0.4.17-compact.zip | Bin 0 -> 2449 bytes ...ernary-condition-all.sol-0.4.17-legacy.zip | Bin 0 -> 2320 bytes ...rnary-condition-all.sol-0.4.18-compact.zip | Bin 0 -> 2454 bytes ...ernary-condition-all.sol-0.4.18-legacy.zip | Bin 0 -> 2327 bytes ...rnary-condition-all.sol-0.4.19-compact.zip | Bin 0 -> 2451 bytes ...ernary-condition-all.sol-0.4.19-legacy.zip | Bin 0 -> 2324 bytes ...ternary-condition-all.sol-0.4.2-legacy.zip | Bin 0 -> 2010 bytes ...rnary-condition-all.sol-0.4.20-compact.zip | Bin 0 -> 2455 bytes ...ernary-condition-all.sol-0.4.20-legacy.zip | Bin 0 -> 2328 bytes ...rnary-condition-all.sol-0.4.21-compact.zip | Bin 0 -> 2459 bytes ...ernary-condition-all.sol-0.4.21-legacy.zip | Bin 0 -> 2328 bytes ...rnary-condition-all.sol-0.4.22-compact.zip | Bin 0 -> 2489 bytes ...ernary-condition-all.sol-0.4.22-legacy.zip | Bin 0 -> 2361 bytes ...rnary-condition-all.sol-0.4.23-compact.zip | Bin 0 -> 2487 bytes ...ernary-condition-all.sol-0.4.23-legacy.zip | Bin 0 -> 2359 bytes ...rnary-condition-all.sol-0.4.24-compact.zip | Bin 0 -> 2484 bytes ...ernary-condition-all.sol-0.4.24-legacy.zip | Bin 0 -> 2355 bytes ...rnary-condition-all.sol-0.4.25-compact.zip | Bin 0 -> 2484 bytes ...ernary-condition-all.sol-0.4.25-legacy.zip | Bin 0 -> 2357 bytes ...rnary-condition-all.sol-0.4.26-compact.zip | Bin 0 -> 2486 bytes ...ernary-condition-all.sol-0.4.26-legacy.zip | Bin 0 -> 2358 bytes ...ternary-condition-all.sol-0.4.3-legacy.zip | Bin 0 -> 2009 bytes ...ternary-condition-all.sol-0.4.4-legacy.zip | Bin 0 -> 2004 bytes ...ternary-condition-all.sol-0.4.5-legacy.zip | Bin 0 -> 2016 bytes ...ternary-condition-all.sol-0.4.6-legacy.zip | Bin 0 -> 2007 bytes ...ternary-condition-all.sol-0.4.7-legacy.zip | Bin 0 -> 2087 bytes ...ternary-condition-all.sol-0.4.8-legacy.zip | Bin 0 -> 2091 bytes ...ternary-condition-all.sol-0.4.9-legacy.zip | Bin 0 -> 2004 bytes ...ernary-condition-all.sol-0.5.0-compact.zip | Bin 0 -> 2472 bytes ...ternary-condition-all.sol-0.5.0-legacy.zip | Bin 0 -> 2361 bytes ...ernary-condition-all.sol-0.5.1-compact.zip | Bin 0 -> 2473 bytes ...ternary-condition-all.sol-0.5.1-legacy.zip | Bin 0 -> 2362 bytes ...rnary-condition-all.sol-0.5.10-compact.zip | Bin 0 -> 2463 bytes ...ernary-condition-all.sol-0.5.10-legacy.zip | Bin 0 -> 2355 bytes ...rnary-condition-all.sol-0.5.11-compact.zip | Bin 0 -> 2468 bytes ...ernary-condition-all.sol-0.5.11-legacy.zip | Bin 0 -> 2362 bytes ...rnary-condition-all.sol-0.5.12-compact.zip | Bin 0 -> 2463 bytes ...ernary-condition-all.sol-0.5.12-legacy.zip | Bin 0 -> 2355 bytes ...rnary-condition-all.sol-0.5.13-compact.zip | Bin 0 -> 2467 bytes ...ernary-condition-all.sol-0.5.13-legacy.zip | Bin 0 -> 2356 bytes ...rnary-condition-all.sol-0.5.14-compact.zip | Bin 0 -> 2464 bytes ...ernary-condition-all.sol-0.5.14-legacy.zip | Bin 0 -> 2356 bytes ...rnary-condition-all.sol-0.5.15-compact.zip | Bin 0 -> 2469 bytes ...ernary-condition-all.sol-0.5.15-legacy.zip | Bin 0 -> 2361 bytes ...rnary-condition-all.sol-0.5.16-compact.zip | Bin 0 -> 2462 bytes ...ernary-condition-all.sol-0.5.16-legacy.zip | Bin 0 -> 2354 bytes ...rnary-condition-all.sol-0.5.17-compact.zip | Bin 0 -> 2463 bytes ...ernary-condition-all.sol-0.5.17-legacy.zip | Bin 0 -> 2355 bytes ...ernary-condition-all.sol-0.5.2-compact.zip | Bin 0 -> 2466 bytes ...ternary-condition-all.sol-0.5.2-legacy.zip | Bin 0 -> 2354 bytes ...ernary-condition-all.sol-0.5.3-compact.zip | Bin 0 -> 2463 bytes ...ternary-condition-all.sol-0.5.3-legacy.zip | Bin 0 -> 2354 bytes ...ernary-condition-all.sol-0.5.4-compact.zip | Bin 0 -> 2467 bytes ...ternary-condition-all.sol-0.5.4-legacy.zip | Bin 0 -> 2354 bytes ...ernary-condition-all.sol-0.5.5-compact.zip | Bin 0 -> 2460 bytes ...ternary-condition-all.sol-0.5.5-legacy.zip | Bin 0 -> 2349 bytes ...ernary-condition-all.sol-0.5.6-compact.zip | Bin 0 -> 2459 bytes ...ternary-condition-all.sol-0.5.6-legacy.zip | Bin 0 -> 2351 bytes ...ernary-condition-all.sol-0.5.7-compact.zip | Bin 0 -> 2458 bytes ...ternary-condition-all.sol-0.5.7-legacy.zip | Bin 0 -> 2350 bytes ...ernary-condition-all.sol-0.5.8-compact.zip | Bin 0 -> 2460 bytes ...ternary-condition-all.sol-0.5.8-legacy.zip | Bin 0 -> 2352 bytes ...ernary-condition-all.sol-0.5.9-compact.zip | Bin 0 -> 2467 bytes ...ternary-condition-all.sol-0.5.9-legacy.zip | Bin 0 -> 2357 bytes ...ernary-condition-all.sol-0.6.0-compact.zip | Bin 0 -> 2496 bytes ...ternary-condition-all.sol-0.6.0-legacy.zip | Bin 0 -> 2377 bytes ...ernary-condition-all.sol-0.6.1-compact.zip | Bin 0 -> 2497 bytes ...ternary-condition-all.sol-0.6.1-legacy.zip | Bin 0 -> 2379 bytes ...rnary-condition-all.sol-0.6.10-compact.zip | Bin 0 -> 2482 bytes ...ernary-condition-all.sol-0.6.10-legacy.zip | Bin 0 -> 2366 bytes ...rnary-condition-all.sol-0.6.11-compact.zip | Bin 0 -> 2484 bytes ...ernary-condition-all.sol-0.6.11-legacy.zip | Bin 0 -> 2371 bytes ...rnary-condition-all.sol-0.6.12-compact.zip | Bin 0 -> 2486 bytes ...ernary-condition-all.sol-0.6.12-legacy.zip | Bin 0 -> 2374 bytes ...ernary-condition-all.sol-0.6.2-compact.zip | Bin 0 -> 2495 bytes ...ternary-condition-all.sol-0.6.2-legacy.zip | Bin 0 -> 2377 bytes ...ernary-condition-all.sol-0.6.3-compact.zip | Bin 0 -> 2503 bytes ...ternary-condition-all.sol-0.6.3-legacy.zip | Bin 0 -> 2385 bytes ...ernary-condition-all.sol-0.6.4-compact.zip | Bin 0 -> 2506 bytes ...ternary-condition-all.sol-0.6.4-legacy.zip | Bin 0 -> 2388 bytes ...ernary-condition-all.sol-0.6.5-compact.zip | Bin 0 -> 2500 bytes ...ternary-condition-all.sol-0.6.5-legacy.zip | Bin 0 -> 2382 bytes ...ernary-condition-all.sol-0.6.6-compact.zip | Bin 0 -> 2504 bytes ...ternary-condition-all.sol-0.6.6-legacy.zip | Bin 0 -> 2394 bytes ...ernary-condition-all.sol-0.6.7-compact.zip | Bin 0 -> 2503 bytes ...ternary-condition-all.sol-0.6.7-legacy.zip | Bin 0 -> 2392 bytes ...ernary-condition-all.sol-0.6.8-compact.zip | Bin 0 -> 2517 bytes ...ternary-condition-all.sol-0.6.8-legacy.zip | Bin 0 -> 2398 bytes ...ernary-condition-all.sol-0.6.9-compact.zip | Bin 0 -> 2486 bytes ...ternary-condition-all.sol-0.6.9-legacy.zip | Bin 0 -> 2370 bytes ...ernary-condition-all.sol-0.7.0-compact.zip | Bin 0 -> 2429 bytes ...ternary-condition-all.sol-0.7.0-legacy.zip | Bin 0 -> 2315 bytes ...ernary-condition-all.sol-0.7.1-compact.zip | Bin 0 -> 2432 bytes ...ternary-condition-all.sol-0.7.1-legacy.zip | Bin 0 -> 2319 bytes ...ernary-condition-all.sol-0.7.2-compact.zip | Bin 0 -> 2427 bytes ...ternary-condition-all.sol-0.7.2-legacy.zip | Bin 0 -> 2316 bytes ...ernary-condition-all.sol-0.7.3-compact.zip | Bin 0 -> 2433 bytes ...ternary-condition-all.sol-0.7.3-legacy.zip | Bin 0 -> 2319 bytes ...ernary-condition-all.sol-0.7.4-compact.zip | Bin 0 -> 2429 bytes ...ternary-condition-all.sol-0.7.4-legacy.zip | Bin 0 -> 2318 bytes ...ernary-condition-all.sol-0.7.5-compact.zip | Bin 0 -> 2431 bytes ...ternary-condition-all.sol-0.7.5-legacy.zip | Bin 0 -> 2318 bytes ...ernary-condition-all.sol-0.7.6-compact.zip | Bin 0 -> 2428 bytes ...ternary-condition-all.sol-0.7.6-legacy.zip | Bin 0 -> 2318 bytes ...ernary-condition-all.sol-0.8.0-compact.zip | Bin 0 -> 2680 bytes ...ernary-condition-all.sol-0.8.1-compact.zip | Bin 0 -> 2685 bytes ...rnary-condition-all.sol-0.8.10-compact.zip | Bin 0 -> 2738 bytes ...rnary-condition-all.sol-0.8.11-compact.zip | Bin 0 -> 2738 bytes ...rnary-condition-all.sol-0.8.12-compact.zip | Bin 0 -> 2739 bytes ...rnary-condition-all.sol-0.8.13-compact.zip | Bin 0 -> 2741 bytes ...rnary-condition-all.sol-0.8.14-compact.zip | Bin 0 -> 2741 bytes ...rnary-condition-all.sol-0.8.15-compact.zip | Bin 0 -> 2739 bytes ...ernary-condition-all.sol-0.8.2-compact.zip | Bin 0 -> 2710 bytes ...ernary-condition-all.sol-0.8.3-compact.zip | Bin 0 -> 2713 bytes ...ernary-condition-all.sol-0.8.4-compact.zip | Bin 0 -> 2728 bytes ...ernary-condition-all.sol-0.8.5-compact.zip | Bin 0 -> 2736 bytes ...ernary-condition-all.sol-0.8.6-compact.zip | Bin 0 -> 2735 bytes ...ernary-condition-all.sol-0.8.7-compact.zip | Bin 0 -> 2738 bytes ...ernary-condition-all.sol-0.8.8-compact.zip | Bin 0 -> 2738 bytes ...ernary-condition-all.sol-0.8.9-compact.zip | Bin 0 -> 2740 bytes .../dowhile-with-ternary-condition-0.4.5.sol | 18 ++++++++++++++++ ...nary-condition-0.4.5.sol-0.4.5-legacy.json | 5 +++++ ...nary-condition-0.4.5.sol-0.4.6-legacy.json | 5 +++++ ...nary-condition-0.4.5.sol-0.4.7-legacy.json | 5 +++++ ...nary-condition-0.4.5.sol-0.4.8-legacy.json | 5 +++++ ...nary-condition-0.4.5.sol-0.4.9-legacy.json | 5 +++++ ...ary-condition-0.4.5.sol-0.5.0-compact.json | 5 +++++ ...nary-condition-0.4.5.sol-0.5.0-legacy.json | 5 +++++ ...ary-condition-0.4.5.sol-0.5.1-compact.json | 5 +++++ ...nary-condition-0.4.5.sol-0.5.1-legacy.json | 5 +++++ ...ry-condition-0.4.5.sol-0.5.10-compact.json | 5 +++++ ...ary-condition-0.4.5.sol-0.5.10-legacy.json | 5 +++++ ...ry-condition-0.4.5.sol-0.5.11-compact.json | 5 +++++ ...ary-condition-0.4.5.sol-0.5.11-legacy.json | 5 +++++ ...ry-condition-0.4.5.sol-0.5.12-compact.json | 5 +++++ ...ary-condition-0.4.5.sol-0.5.12-legacy.json | 5 +++++ ...ry-condition-0.4.5.sol-0.5.13-compact.json | 5 +++++ ...ary-condition-0.4.5.sol-0.5.13-legacy.json | 5 +++++ ...ry-condition-0.4.5.sol-0.5.14-compact.json | 5 +++++ ...ary-condition-0.4.5.sol-0.5.14-legacy.json | 5 +++++ ...ry-condition-0.4.5.sol-0.5.15-compact.json | 5 +++++ ...ary-condition-0.4.5.sol-0.5.15-legacy.json | 5 +++++ ...ry-condition-0.4.5.sol-0.5.16-compact.json | 5 +++++ ...ary-condition-0.4.5.sol-0.5.16-legacy.json | 5 +++++ ...ry-condition-0.4.5.sol-0.5.17-compact.json | 5 +++++ ...ary-condition-0.4.5.sol-0.5.17-legacy.json | 5 +++++ ...ary-condition-0.4.5.sol-0.5.2-compact.json | 5 +++++ ...nary-condition-0.4.5.sol-0.5.2-legacy.json | 5 +++++ ...ary-condition-0.4.5.sol-0.5.3-compact.json | 5 +++++ ...nary-condition-0.4.5.sol-0.5.3-legacy.json | 5 +++++ ...ary-condition-0.4.5.sol-0.5.4-compact.json | 5 +++++ ...nary-condition-0.4.5.sol-0.5.4-legacy.json | 5 +++++ ...ary-condition-0.4.5.sol-0.5.5-compact.json | 5 +++++ ...nary-condition-0.4.5.sol-0.5.5-legacy.json | 5 +++++ ...ary-condition-0.4.5.sol-0.5.6-compact.json | 5 +++++ ...nary-condition-0.4.5.sol-0.5.6-legacy.json | 5 +++++ ...ary-condition-0.4.5.sol-0.5.7-compact.json | 5 +++++ ...nary-condition-0.4.5.sol-0.5.7-legacy.json | 5 +++++ ...ary-condition-0.4.5.sol-0.5.8-compact.json | 5 +++++ ...nary-condition-0.4.5.sol-0.5.8-legacy.json | 5 +++++ ...ary-condition-0.4.5.sol-0.5.9-compact.json | 5 +++++ ...nary-condition-0.4.5.sol-0.5.9-legacy.json | 5 +++++ ...ary-condition-0.4.5.sol-0.6.0-compact.json | 5 +++++ ...nary-condition-0.4.5.sol-0.6.0-legacy.json | 5 +++++ ...ary-condition-0.4.5.sol-0.6.1-compact.json | 5 +++++ ...nary-condition-0.4.5.sol-0.6.1-legacy.json | 5 +++++ ...ry-condition-0.4.5.sol-0.6.10-compact.json | 5 +++++ ...ary-condition-0.4.5.sol-0.6.10-legacy.json | 5 +++++ ...ry-condition-0.4.5.sol-0.6.11-compact.json | 5 +++++ ...ary-condition-0.4.5.sol-0.6.11-legacy.json | 5 +++++ ...ry-condition-0.4.5.sol-0.6.12-compact.json | 5 +++++ ...ary-condition-0.4.5.sol-0.6.12-legacy.json | 5 +++++ ...ary-condition-0.4.5.sol-0.6.2-compact.json | 5 +++++ ...nary-condition-0.4.5.sol-0.6.2-legacy.json | 5 +++++ ...ary-condition-0.4.5.sol-0.6.3-compact.json | 5 +++++ ...nary-condition-0.4.5.sol-0.6.3-legacy.json | 5 +++++ ...ary-condition-0.4.5.sol-0.6.4-compact.json | 5 +++++ ...nary-condition-0.4.5.sol-0.6.4-legacy.json | 5 +++++ ...ary-condition-0.4.5.sol-0.6.5-compact.json | 5 +++++ ...nary-condition-0.4.5.sol-0.6.5-legacy.json | 5 +++++ ...ary-condition-0.4.5.sol-0.6.6-compact.json | 5 +++++ ...nary-condition-0.4.5.sol-0.6.6-legacy.json | 5 +++++ ...ary-condition-0.4.5.sol-0.6.7-compact.json | 5 +++++ ...nary-condition-0.4.5.sol-0.6.7-legacy.json | 5 +++++ ...ary-condition-0.4.5.sol-0.6.8-compact.json | 5 +++++ ...nary-condition-0.4.5.sol-0.6.8-legacy.json | 5 +++++ ...ary-condition-0.4.5.sol-0.6.9-compact.json | 5 +++++ ...nary-condition-0.4.5.sol-0.6.9-legacy.json | 5 +++++ ...ary-condition-0.4.5.sol-0.7.0-compact.json | 5 +++++ ...nary-condition-0.4.5.sol-0.7.0-legacy.json | 5 +++++ ...ary-condition-0.4.5.sol-0.7.1-compact.json | 5 +++++ ...nary-condition-0.4.5.sol-0.7.1-legacy.json | 5 +++++ ...ary-condition-0.4.5.sol-0.7.2-compact.json | 5 +++++ ...nary-condition-0.4.5.sol-0.7.2-legacy.json | 5 +++++ ...ary-condition-0.4.5.sol-0.7.3-compact.json | 5 +++++ ...nary-condition-0.4.5.sol-0.7.3-legacy.json | 5 +++++ ...ary-condition-0.4.5.sol-0.7.4-compact.json | 5 +++++ ...nary-condition-0.4.5.sol-0.7.4-legacy.json | 5 +++++ ...ary-condition-0.4.5.sol-0.7.5-compact.json | 5 +++++ ...nary-condition-0.4.5.sol-0.7.5-legacy.json | 5 +++++ ...ary-condition-0.4.5.sol-0.7.6-compact.json | 5 +++++ ...nary-condition-0.4.5.sol-0.7.6-legacy.json | 5 +++++ ...ary-condition-0.4.5.sol-0.8.0-compact.json | 5 +++++ ...ary-condition-0.4.5.sol-0.8.1-compact.json | 5 +++++ ...ry-condition-0.4.5.sol-0.8.10-compact.json | 5 +++++ ...ry-condition-0.4.5.sol-0.8.11-compact.json | 5 +++++ ...ry-condition-0.4.5.sol-0.8.12-compact.json | 5 +++++ ...ry-condition-0.4.5.sol-0.8.13-compact.json | 5 +++++ ...ry-condition-0.4.5.sol-0.8.14-compact.json | 5 +++++ ...ry-condition-0.4.5.sol-0.8.15-compact.json | 5 +++++ ...ary-condition-0.4.5.sol-0.8.2-compact.json | 5 +++++ ...ary-condition-0.4.5.sol-0.8.3-compact.json | 5 +++++ ...ary-condition-0.4.5.sol-0.8.4-compact.json | 5 +++++ ...ary-condition-0.4.5.sol-0.8.5-compact.json | 5 +++++ ...ary-condition-0.4.5.sol-0.8.6-compact.json | 5 +++++ ...ary-condition-0.4.5.sol-0.8.7-compact.json | 5 +++++ ...ary-condition-0.4.5.sol-0.8.8-compact.json | 5 +++++ ...ary-condition-0.4.5.sol-0.8.9-compact.json | 5 +++++ ...ernary-condition-all.sol-0.4.0-legacy.json | 5 +++++ ...ernary-condition-all.sol-0.4.1-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.4.10-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.4.11-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.12-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.12-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.13-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.13-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.14-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.14-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.15-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.15-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.16-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.16-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.17-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.17-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.18-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.18-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.19-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.19-legacy.json | 5 +++++ ...ernary-condition-all.sol-0.4.2-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.20-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.20-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.21-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.21-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.22-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.22-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.23-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.23-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.24-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.24-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.25-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.25-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.26-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.26-legacy.json | 5 +++++ ...ernary-condition-all.sol-0.4.3-legacy.json | 5 +++++ ...ernary-condition-all.sol-0.4.4-legacy.json | 5 +++++ ...ernary-condition-all.sol-0.4.5-legacy.json | 5 +++++ ...ernary-condition-all.sol-0.4.6-legacy.json | 5 +++++ ...ernary-condition-all.sol-0.4.7-legacy.json | 5 +++++ ...ernary-condition-all.sol-0.4.8-legacy.json | 5 +++++ ...ernary-condition-all.sol-0.4.9-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.5.0-compact.json | 5 +++++ ...ernary-condition-all.sol-0.5.0-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.5.1-compact.json | 5 +++++ ...ernary-condition-all.sol-0.5.1-legacy.json | 5 +++++ ...nary-condition-all.sol-0.5.10-compact.json | 5 +++++ ...rnary-condition-all.sol-0.5.10-legacy.json | 5 +++++ ...nary-condition-all.sol-0.5.11-compact.json | 5 +++++ ...rnary-condition-all.sol-0.5.11-legacy.json | 5 +++++ ...nary-condition-all.sol-0.5.12-compact.json | 5 +++++ ...rnary-condition-all.sol-0.5.12-legacy.json | 5 +++++ ...nary-condition-all.sol-0.5.13-compact.json | 5 +++++ ...rnary-condition-all.sol-0.5.13-legacy.json | 5 +++++ ...nary-condition-all.sol-0.5.14-compact.json | 5 +++++ ...rnary-condition-all.sol-0.5.14-legacy.json | 5 +++++ ...nary-condition-all.sol-0.5.15-compact.json | 5 +++++ ...rnary-condition-all.sol-0.5.15-legacy.json | 5 +++++ ...nary-condition-all.sol-0.5.16-compact.json | 5 +++++ ...rnary-condition-all.sol-0.5.16-legacy.json | 5 +++++ ...nary-condition-all.sol-0.5.17-compact.json | 5 +++++ ...rnary-condition-all.sol-0.5.17-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.5.2-compact.json | 5 +++++ ...ernary-condition-all.sol-0.5.2-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.5.3-compact.json | 5 +++++ ...ernary-condition-all.sol-0.5.3-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.5.4-compact.json | 5 +++++ ...ernary-condition-all.sol-0.5.4-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.5.5-compact.json | 5 +++++ ...ernary-condition-all.sol-0.5.5-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.5.6-compact.json | 5 +++++ ...ernary-condition-all.sol-0.5.6-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.5.7-compact.json | 5 +++++ ...ernary-condition-all.sol-0.5.7-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.5.8-compact.json | 5 +++++ ...ernary-condition-all.sol-0.5.8-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.5.9-compact.json | 5 +++++ ...ernary-condition-all.sol-0.5.9-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.6.0-compact.json | 5 +++++ ...ernary-condition-all.sol-0.6.0-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.6.1-compact.json | 5 +++++ ...ernary-condition-all.sol-0.6.1-legacy.json | 5 +++++ ...nary-condition-all.sol-0.6.10-compact.json | 5 +++++ ...rnary-condition-all.sol-0.6.10-legacy.json | 5 +++++ ...nary-condition-all.sol-0.6.11-compact.json | 5 +++++ ...rnary-condition-all.sol-0.6.11-legacy.json | 5 +++++ ...nary-condition-all.sol-0.6.12-compact.json | 5 +++++ ...rnary-condition-all.sol-0.6.12-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.6.2-compact.json | 5 +++++ ...ernary-condition-all.sol-0.6.2-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.6.3-compact.json | 5 +++++ ...ernary-condition-all.sol-0.6.3-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.6.4-compact.json | 5 +++++ ...ernary-condition-all.sol-0.6.4-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.6.5-compact.json | 5 +++++ ...ernary-condition-all.sol-0.6.5-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.6.6-compact.json | 5 +++++ ...ernary-condition-all.sol-0.6.6-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.6.7-compact.json | 5 +++++ ...ernary-condition-all.sol-0.6.7-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.6.8-compact.json | 5 +++++ ...ernary-condition-all.sol-0.6.8-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.6.9-compact.json | 5 +++++ ...ernary-condition-all.sol-0.6.9-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.7.0-compact.json | 5 +++++ ...ernary-condition-all.sol-0.7.0-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.7.1-compact.json | 5 +++++ ...ernary-condition-all.sol-0.7.1-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.7.2-compact.json | 5 +++++ ...ernary-condition-all.sol-0.7.2-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.7.3-compact.json | 5 +++++ ...ernary-condition-all.sol-0.7.3-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.7.4-compact.json | 5 +++++ ...ernary-condition-all.sol-0.7.4-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.7.5-compact.json | 5 +++++ ...ernary-condition-all.sol-0.7.5-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.7.6-compact.json | 5 +++++ ...ernary-condition-all.sol-0.7.6-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.8.0-compact.json | 5 +++++ ...rnary-condition-all.sol-0.8.1-compact.json | 5 +++++ ...nary-condition-all.sol-0.8.10-compact.json | 5 +++++ ...nary-condition-all.sol-0.8.11-compact.json | 5 +++++ ...nary-condition-all.sol-0.8.12-compact.json | 5 +++++ ...nary-condition-all.sol-0.8.13-compact.json | 5 +++++ ...nary-condition-all.sol-0.8.14-compact.json | 5 +++++ ...nary-condition-all.sol-0.8.15-compact.json | 5 +++++ ...rnary-condition-all.sol-0.8.2-compact.json | 5 +++++ ...rnary-condition-all.sol-0.8.3-compact.json | 5 +++++ ...rnary-condition-all.sol-0.8.4-compact.json | 5 +++++ ...rnary-condition-all.sol-0.8.5-compact.json | 5 +++++ ...rnary-condition-all.sol-0.8.6-compact.json | 5 +++++ ...rnary-condition-all.sol-0.8.7-compact.json | 5 +++++ ...rnary-condition-all.sol-0.8.8-compact.json | 5 +++++ ...rnary-condition-all.sol-0.8.9-compact.json | 5 +++++ ...ernary-condition-all.sol-0.4.0-legacy.json | 5 +++++ ...ernary-condition-all.sol-0.4.1-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.4.10-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.4.11-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.12-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.12-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.13-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.13-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.14-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.14-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.15-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.15-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.16-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.16-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.17-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.17-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.18-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.18-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.19-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.19-legacy.json | 5 +++++ ...ernary-condition-all.sol-0.4.2-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.20-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.20-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.21-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.21-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.22-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.22-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.23-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.23-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.24-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.24-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.25-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.25-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.26-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.26-legacy.json | 5 +++++ ...ernary-condition-all.sol-0.4.3-legacy.json | 5 +++++ ...ernary-condition-all.sol-0.4.4-legacy.json | 5 +++++ ...ernary-condition-all.sol-0.4.5-legacy.json | 5 +++++ ...ernary-condition-all.sol-0.4.6-legacy.json | 5 +++++ ...ernary-condition-all.sol-0.4.7-legacy.json | 5 +++++ ...ernary-condition-all.sol-0.4.8-legacy.json | 5 +++++ ...ernary-condition-all.sol-0.4.9-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.5.0-compact.json | 5 +++++ ...ernary-condition-all.sol-0.5.0-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.5.1-compact.json | 5 +++++ ...ernary-condition-all.sol-0.5.1-legacy.json | 5 +++++ ...nary-condition-all.sol-0.5.10-compact.json | 5 +++++ ...rnary-condition-all.sol-0.5.10-legacy.json | 5 +++++ ...nary-condition-all.sol-0.5.11-compact.json | 5 +++++ ...rnary-condition-all.sol-0.5.11-legacy.json | 5 +++++ ...nary-condition-all.sol-0.5.12-compact.json | 5 +++++ ...rnary-condition-all.sol-0.5.12-legacy.json | 5 +++++ ...nary-condition-all.sol-0.5.13-compact.json | 5 +++++ ...rnary-condition-all.sol-0.5.13-legacy.json | 5 +++++ ...nary-condition-all.sol-0.5.14-compact.json | 5 +++++ ...rnary-condition-all.sol-0.5.14-legacy.json | 5 +++++ ...nary-condition-all.sol-0.5.15-compact.json | 5 +++++ ...rnary-condition-all.sol-0.5.15-legacy.json | 5 +++++ ...nary-condition-all.sol-0.5.16-compact.json | 5 +++++ ...rnary-condition-all.sol-0.5.16-legacy.json | 5 +++++ ...nary-condition-all.sol-0.5.17-compact.json | 5 +++++ ...rnary-condition-all.sol-0.5.17-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.5.2-compact.json | 5 +++++ ...ernary-condition-all.sol-0.5.2-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.5.3-compact.json | 5 +++++ ...ernary-condition-all.sol-0.5.3-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.5.4-compact.json | 5 +++++ ...ernary-condition-all.sol-0.5.4-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.5.5-compact.json | 5 +++++ ...ernary-condition-all.sol-0.5.5-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.5.6-compact.json | 5 +++++ ...ernary-condition-all.sol-0.5.6-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.5.7-compact.json | 5 +++++ ...ernary-condition-all.sol-0.5.7-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.5.8-compact.json | 5 +++++ ...ernary-condition-all.sol-0.5.8-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.5.9-compact.json | 5 +++++ ...ernary-condition-all.sol-0.5.9-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.6.0-compact.json | 5 +++++ ...ernary-condition-all.sol-0.6.0-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.6.1-compact.json | 5 +++++ ...ernary-condition-all.sol-0.6.1-legacy.json | 5 +++++ ...nary-condition-all.sol-0.6.10-compact.json | 5 +++++ ...rnary-condition-all.sol-0.6.10-legacy.json | 5 +++++ ...nary-condition-all.sol-0.6.11-compact.json | 5 +++++ ...rnary-condition-all.sol-0.6.11-legacy.json | 5 +++++ ...nary-condition-all.sol-0.6.12-compact.json | 5 +++++ ...rnary-condition-all.sol-0.6.12-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.6.2-compact.json | 5 +++++ ...ernary-condition-all.sol-0.6.2-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.6.3-compact.json | 5 +++++ ...ernary-condition-all.sol-0.6.3-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.6.4-compact.json | 5 +++++ ...ernary-condition-all.sol-0.6.4-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.6.5-compact.json | 5 +++++ ...ernary-condition-all.sol-0.6.5-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.6.6-compact.json | 5 +++++ ...ernary-condition-all.sol-0.6.6-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.6.7-compact.json | 5 +++++ ...ernary-condition-all.sol-0.6.7-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.6.8-compact.json | 5 +++++ ...ernary-condition-all.sol-0.6.8-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.6.9-compact.json | 5 +++++ ...ernary-condition-all.sol-0.6.9-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.7.0-compact.json | 5 +++++ ...ernary-condition-all.sol-0.7.0-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.7.1-compact.json | 5 +++++ ...ernary-condition-all.sol-0.7.1-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.7.2-compact.json | 5 +++++ ...ernary-condition-all.sol-0.7.2-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.7.3-compact.json | 5 +++++ ...ernary-condition-all.sol-0.7.3-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.7.4-compact.json | 5 +++++ ...ernary-condition-all.sol-0.7.4-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.7.5-compact.json | 5 +++++ ...ernary-condition-all.sol-0.7.5-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.7.6-compact.json | 5 +++++ ...ernary-condition-all.sol-0.7.6-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.8.0-compact.json | 5 +++++ ...rnary-condition-all.sol-0.8.1-compact.json | 5 +++++ ...nary-condition-all.sol-0.8.10-compact.json | 5 +++++ ...nary-condition-all.sol-0.8.11-compact.json | 5 +++++ ...nary-condition-all.sol-0.8.12-compact.json | 5 +++++ ...nary-condition-all.sol-0.8.13-compact.json | 5 +++++ ...nary-condition-all.sol-0.8.14-compact.json | 5 +++++ ...nary-condition-all.sol-0.8.15-compact.json | 5 +++++ ...rnary-condition-all.sol-0.8.2-compact.json | 5 +++++ ...rnary-condition-all.sol-0.8.3-compact.json | 5 +++++ ...rnary-condition-all.sol-0.8.4-compact.json | 5 +++++ ...rnary-condition-all.sol-0.8.5-compact.json | 5 +++++ ...rnary-condition-all.sol-0.8.6-compact.json | 5 +++++ ...rnary-condition-all.sol-0.8.7-compact.json | 5 +++++ ...rnary-condition-all.sol-0.8.8-compact.json | 5 +++++ ...rnary-condition-all.sol-0.8.9-compact.json | 5 +++++ ...ernary-condition-all.sol-0.4.0-legacy.json | 5 +++++ ...ernary-condition-all.sol-0.4.1-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.4.10-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.4.11-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.12-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.12-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.13-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.13-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.14-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.14-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.15-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.15-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.16-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.16-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.17-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.17-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.18-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.18-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.19-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.19-legacy.json | 5 +++++ ...ernary-condition-all.sol-0.4.2-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.20-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.20-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.21-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.21-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.22-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.22-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.23-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.23-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.24-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.24-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.25-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.25-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.26-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.26-legacy.json | 5 +++++ ...ernary-condition-all.sol-0.4.3-legacy.json | 5 +++++ ...ernary-condition-all.sol-0.4.4-legacy.json | 5 +++++ ...ernary-condition-all.sol-0.4.5-legacy.json | 5 +++++ ...ernary-condition-all.sol-0.4.6-legacy.json | 5 +++++ ...ernary-condition-all.sol-0.4.7-legacy.json | 5 +++++ ...ernary-condition-all.sol-0.4.8-legacy.json | 5 +++++ ...ernary-condition-all.sol-0.4.9-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.5.0-compact.json | 5 +++++ ...ernary-condition-all.sol-0.5.0-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.5.1-compact.json | 5 +++++ ...ernary-condition-all.sol-0.5.1-legacy.json | 5 +++++ ...nary-condition-all.sol-0.5.10-compact.json | 5 +++++ ...rnary-condition-all.sol-0.5.10-legacy.json | 5 +++++ ...nary-condition-all.sol-0.5.11-compact.json | 5 +++++ ...rnary-condition-all.sol-0.5.11-legacy.json | 5 +++++ ...nary-condition-all.sol-0.5.12-compact.json | 5 +++++ ...rnary-condition-all.sol-0.5.12-legacy.json | 5 +++++ ...nary-condition-all.sol-0.5.13-compact.json | 5 +++++ ...rnary-condition-all.sol-0.5.13-legacy.json | 5 +++++ ...nary-condition-all.sol-0.5.14-compact.json | 5 +++++ ...rnary-condition-all.sol-0.5.14-legacy.json | 5 +++++ ...nary-condition-all.sol-0.5.15-compact.json | 5 +++++ ...rnary-condition-all.sol-0.5.15-legacy.json | 5 +++++ ...nary-condition-all.sol-0.5.16-compact.json | 5 +++++ ...rnary-condition-all.sol-0.5.16-legacy.json | 5 +++++ ...nary-condition-all.sol-0.5.17-compact.json | 5 +++++ ...rnary-condition-all.sol-0.5.17-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.5.2-compact.json | 5 +++++ ...ernary-condition-all.sol-0.5.2-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.5.3-compact.json | 5 +++++ ...ernary-condition-all.sol-0.5.3-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.5.4-compact.json | 5 +++++ ...ernary-condition-all.sol-0.5.4-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.5.5-compact.json | 5 +++++ ...ernary-condition-all.sol-0.5.5-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.5.6-compact.json | 5 +++++ ...ernary-condition-all.sol-0.5.6-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.5.7-compact.json | 5 +++++ ...ernary-condition-all.sol-0.5.7-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.5.8-compact.json | 5 +++++ ...ernary-condition-all.sol-0.5.8-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.5.9-compact.json | 5 +++++ ...ernary-condition-all.sol-0.5.9-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.6.0-compact.json | 5 +++++ ...ernary-condition-all.sol-0.6.0-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.6.1-compact.json | 5 +++++ ...ernary-condition-all.sol-0.6.1-legacy.json | 5 +++++ ...nary-condition-all.sol-0.6.10-compact.json | 5 +++++ ...rnary-condition-all.sol-0.6.10-legacy.json | 5 +++++ ...nary-condition-all.sol-0.6.11-compact.json | 5 +++++ ...rnary-condition-all.sol-0.6.11-legacy.json | 5 +++++ ...nary-condition-all.sol-0.6.12-compact.json | 5 +++++ ...rnary-condition-all.sol-0.6.12-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.6.2-compact.json | 5 +++++ ...ernary-condition-all.sol-0.6.2-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.6.3-compact.json | 5 +++++ ...ernary-condition-all.sol-0.6.3-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.6.4-compact.json | 5 +++++ ...ernary-condition-all.sol-0.6.4-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.6.5-compact.json | 5 +++++ ...ernary-condition-all.sol-0.6.5-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.6.6-compact.json | 5 +++++ ...ernary-condition-all.sol-0.6.6-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.6.7-compact.json | 5 +++++ ...ernary-condition-all.sol-0.6.7-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.6.8-compact.json | 5 +++++ ...ernary-condition-all.sol-0.6.8-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.6.9-compact.json | 5 +++++ ...ernary-condition-all.sol-0.6.9-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.7.0-compact.json | 5 +++++ ...ernary-condition-all.sol-0.7.0-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.7.1-compact.json | 5 +++++ ...ernary-condition-all.sol-0.7.1-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.7.2-compact.json | 5 +++++ ...ernary-condition-all.sol-0.7.2-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.7.3-compact.json | 5 +++++ ...ernary-condition-all.sol-0.7.3-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.7.4-compact.json | 5 +++++ ...ernary-condition-all.sol-0.7.4-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.7.5-compact.json | 5 +++++ ...ernary-condition-all.sol-0.7.5-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.7.6-compact.json | 5 +++++ ...ernary-condition-all.sol-0.7.6-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.8.0-compact.json | 5 +++++ ...rnary-condition-all.sol-0.8.1-compact.json | 5 +++++ ...nary-condition-all.sol-0.8.10-compact.json | 5 +++++ ...nary-condition-all.sol-0.8.11-compact.json | 5 +++++ ...nary-condition-all.sol-0.8.12-compact.json | 5 +++++ ...nary-condition-all.sol-0.8.13-compact.json | 5 +++++ ...nary-condition-all.sol-0.8.14-compact.json | 5 +++++ ...nary-condition-all.sol-0.8.15-compact.json | 5 +++++ ...rnary-condition-all.sol-0.8.2-compact.json | 5 +++++ ...rnary-condition-all.sol-0.8.3-compact.json | 5 +++++ ...rnary-condition-all.sol-0.8.4-compact.json | 5 +++++ ...rnary-condition-all.sol-0.8.5-compact.json | 5 +++++ ...rnary-condition-all.sol-0.8.6-compact.json | 5 +++++ ...rnary-condition-all.sol-0.8.7-compact.json | 5 +++++ ...rnary-condition-all.sol-0.8.8-compact.json | 5 +++++ ...rnary-condition-all.sol-0.8.9-compact.json | 5 +++++ ...ernary-condition-all.sol-0.4.0-legacy.json | 5 +++++ ...ernary-condition-all.sol-0.4.1-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.4.10-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.4.11-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.12-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.12-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.13-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.13-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.14-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.14-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.15-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.15-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.16-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.16-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.17-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.17-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.18-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.18-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.19-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.19-legacy.json | 5 +++++ ...ernary-condition-all.sol-0.4.2-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.20-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.20-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.21-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.21-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.22-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.22-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.23-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.23-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.24-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.24-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.25-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.25-legacy.json | 5 +++++ ...nary-condition-all.sol-0.4.26-compact.json | 5 +++++ ...rnary-condition-all.sol-0.4.26-legacy.json | 5 +++++ ...ernary-condition-all.sol-0.4.3-legacy.json | 5 +++++ ...ernary-condition-all.sol-0.4.4-legacy.json | 5 +++++ ...ernary-condition-all.sol-0.4.5-legacy.json | 5 +++++ ...ernary-condition-all.sol-0.4.6-legacy.json | 5 +++++ ...ernary-condition-all.sol-0.4.7-legacy.json | 5 +++++ ...ernary-condition-all.sol-0.4.8-legacy.json | 5 +++++ ...ernary-condition-all.sol-0.4.9-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.5.0-compact.json | 5 +++++ ...ernary-condition-all.sol-0.5.0-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.5.1-compact.json | 5 +++++ ...ernary-condition-all.sol-0.5.1-legacy.json | 5 +++++ ...nary-condition-all.sol-0.5.10-compact.json | 5 +++++ ...rnary-condition-all.sol-0.5.10-legacy.json | 5 +++++ ...nary-condition-all.sol-0.5.11-compact.json | 5 +++++ ...rnary-condition-all.sol-0.5.11-legacy.json | 5 +++++ ...nary-condition-all.sol-0.5.12-compact.json | 5 +++++ ...rnary-condition-all.sol-0.5.12-legacy.json | 5 +++++ ...nary-condition-all.sol-0.5.13-compact.json | 5 +++++ ...rnary-condition-all.sol-0.5.13-legacy.json | 5 +++++ ...nary-condition-all.sol-0.5.14-compact.json | 5 +++++ ...rnary-condition-all.sol-0.5.14-legacy.json | 5 +++++ ...nary-condition-all.sol-0.5.15-compact.json | 5 +++++ ...rnary-condition-all.sol-0.5.15-legacy.json | 5 +++++ ...nary-condition-all.sol-0.5.16-compact.json | 5 +++++ ...rnary-condition-all.sol-0.5.16-legacy.json | 5 +++++ ...nary-condition-all.sol-0.5.17-compact.json | 5 +++++ ...rnary-condition-all.sol-0.5.17-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.5.2-compact.json | 5 +++++ ...ernary-condition-all.sol-0.5.2-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.5.3-compact.json | 5 +++++ ...ernary-condition-all.sol-0.5.3-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.5.4-compact.json | 5 +++++ ...ernary-condition-all.sol-0.5.4-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.5.5-compact.json | 5 +++++ ...ernary-condition-all.sol-0.5.5-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.5.6-compact.json | 5 +++++ ...ernary-condition-all.sol-0.5.6-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.5.7-compact.json | 5 +++++ ...ernary-condition-all.sol-0.5.7-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.5.8-compact.json | 5 +++++ ...ernary-condition-all.sol-0.5.8-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.5.9-compact.json | 5 +++++ ...ernary-condition-all.sol-0.5.9-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.6.0-compact.json | 5 +++++ ...ernary-condition-all.sol-0.6.0-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.6.1-compact.json | 5 +++++ ...ernary-condition-all.sol-0.6.1-legacy.json | 5 +++++ ...nary-condition-all.sol-0.6.10-compact.json | 5 +++++ ...rnary-condition-all.sol-0.6.10-legacy.json | 5 +++++ ...nary-condition-all.sol-0.6.11-compact.json | 5 +++++ ...rnary-condition-all.sol-0.6.11-legacy.json | 5 +++++ ...nary-condition-all.sol-0.6.12-compact.json | 5 +++++ ...rnary-condition-all.sol-0.6.12-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.6.2-compact.json | 5 +++++ ...ernary-condition-all.sol-0.6.2-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.6.3-compact.json | 5 +++++ ...ernary-condition-all.sol-0.6.3-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.6.4-compact.json | 5 +++++ ...ernary-condition-all.sol-0.6.4-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.6.5-compact.json | 5 +++++ ...ernary-condition-all.sol-0.6.5-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.6.6-compact.json | 5 +++++ ...ernary-condition-all.sol-0.6.6-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.6.7-compact.json | 5 +++++ ...ernary-condition-all.sol-0.6.7-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.6.8-compact.json | 5 +++++ ...ernary-condition-all.sol-0.6.8-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.6.9-compact.json | 5 +++++ ...ernary-condition-all.sol-0.6.9-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.7.0-compact.json | 5 +++++ ...ernary-condition-all.sol-0.7.0-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.7.1-compact.json | 5 +++++ ...ernary-condition-all.sol-0.7.1-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.7.2-compact.json | 5 +++++ ...ernary-condition-all.sol-0.7.2-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.7.3-compact.json | 5 +++++ ...ernary-condition-all.sol-0.7.3-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.7.4-compact.json | 5 +++++ ...ernary-condition-all.sol-0.7.4-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.7.5-compact.json | 5 +++++ ...ernary-condition-all.sol-0.7.5-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.7.6-compact.json | 5 +++++ ...ernary-condition-all.sol-0.7.6-legacy.json | 5 +++++ ...rnary-condition-all.sol-0.8.0-compact.json | 5 +++++ ...rnary-condition-all.sol-0.8.1-compact.json | 5 +++++ ...nary-condition-all.sol-0.8.10-compact.json | 5 +++++ ...nary-condition-all.sol-0.8.11-compact.json | 5 +++++ ...nary-condition-all.sol-0.8.12-compact.json | 5 +++++ ...nary-condition-all.sol-0.8.13-compact.json | 5 +++++ ...nary-condition-all.sol-0.8.14-compact.json | 5 +++++ ...nary-condition-all.sol-0.8.15-compact.json | 5 +++++ ...rnary-condition-all.sol-0.8.2-compact.json | 5 +++++ ...rnary-condition-all.sol-0.8.3-compact.json | 5 +++++ ...rnary-condition-all.sol-0.8.4-compact.json | 5 +++++ ...rnary-condition-all.sol-0.8.5-compact.json | 5 +++++ ...rnary-condition-all.sol-0.8.6-compact.json | 5 +++++ ...rnary-condition-all.sol-0.8.7-compact.json | 5 +++++ ...rnary-condition-all.sol-0.8.8-compact.json | 5 +++++ ...rnary-condition-all.sol-0.8.9-compact.json | 5 +++++ .../for-with-ternary-condition-all.sol | 20 ++++++++++++++++++ .../if-with-ternary-condition-all.sol | 20 ++++++++++++++++++ ...ested-while-with-ternary-condition-all.sol | 15 +++++++++++++ .../while-with-ternary-condition-all.sol | 20 ++++++++++++++++++ 1272 files changed, 3278 insertions(+) create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.4.5-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.4.6-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.4.7-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.4.8-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.4.9-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.0-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.0-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.1-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.1-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.10-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.10-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.11-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.11-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.12-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.12-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.13-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.13-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.14-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.14-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.15-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.15-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.16-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.16-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.17-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.17-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.2-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.2-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.3-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.3-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.4-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.4-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.5-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.5-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.6-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.6-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.7-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.7-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.8-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.8-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.9-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.9-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.0-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.0-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.1-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.1-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.10-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.10-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.11-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.11-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.12-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.12-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.2-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.2-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.3-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.3-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.4-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.4-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.5-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.5-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.6-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.6-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.7-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.7-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.8-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.8-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.9-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.9-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.7.0-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.7.0-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.7.1-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.7.1-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.7.2-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.7.2-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.7.3-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.7.3-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.7.4-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.7.4-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.7.5-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.7.5-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.7.6-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.7.6-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.8.0-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.8.1-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.8.10-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.8.11-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.8.12-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.8.13-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.8.14-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.8.15-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.8.2-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.8.3-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.8.4-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.8.5-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.8.6-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.8.7-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.8.8-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.8.9-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.0-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.1-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.10-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.11-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.12-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.12-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.13-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.13-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.14-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.14-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.15-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.15-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.16-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.16-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.17-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.17-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.18-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.18-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.19-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.19-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.2-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.20-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.20-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.21-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.21-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.22-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.22-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.23-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.23-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.24-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.24-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.25-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.25-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.26-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.26-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.3-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.4-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.5-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.6-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.7-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.8-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.9-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.0-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.0-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.1-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.1-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.10-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.10-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.11-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.11-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.12-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.12-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.13-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.13-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.14-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.14-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.15-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.15-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.16-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.16-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.17-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.17-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.2-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.2-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.3-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.3-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.4-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.4-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.5-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.5-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.6-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.6-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.7-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.7-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.8-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.8-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.9-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.9-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.0-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.0-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.1-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.1-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.10-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.10-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.11-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.11-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.12-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.12-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.2-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.2-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.3-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.3-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.4-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.4-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.5-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.5-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.6-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.6-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.7-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.7-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.8-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.8-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.9-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.9-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.7.0-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.7.0-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.7.1-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.7.1-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.7.2-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.7.2-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.7.3-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.7.3-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.7.4-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.7.4-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.7.5-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.7.5-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.7.6-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.7.6-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.8.0-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.8.1-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.8.10-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.8.11-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.8.12-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.8.13-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.8.14-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.8.15-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.8.2-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.8.3-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.8.4-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.8.5-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.8.6-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.8.7-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.8.8-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.8.9-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.0-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.1-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.10-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.11-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.12-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.12-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.13-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.13-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.14-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.14-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.15-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.15-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.16-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.16-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.17-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.17-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.18-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.18-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.19-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.19-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.2-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.20-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.20-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.21-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.21-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.22-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.22-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.23-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.23-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.24-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.24-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.25-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.25-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.26-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.26-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.3-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.4-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.5-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.6-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.7-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.8-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.9-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.0-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.0-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.1-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.1-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.10-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.10-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.11-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.11-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.12-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.12-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.13-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.13-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.14-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.14-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.15-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.15-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.16-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.16-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.17-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.17-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.2-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.2-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.3-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.3-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.4-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.4-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.5-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.5-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.6-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.6-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.7-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.7-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.8-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.8-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.9-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.9-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.0-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.0-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.1-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.1-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.10-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.10-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.11-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.11-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.12-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.12-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.2-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.2-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.3-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.3-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.4-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.4-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.5-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.5-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.6-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.6-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.7-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.7-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.8-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.8-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.9-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.9-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.7.0-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.7.0-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.7.1-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.7.1-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.7.2-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.7.2-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.7.3-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.7.3-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.7.4-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.7.4-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.7.5-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.7.5-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.7.6-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.7.6-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.8.0-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.8.1-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.8.10-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.8.11-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.8.12-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.8.13-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.8.14-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.8.15-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.8.2-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.8.3-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.8.4-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.8.5-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.8.6-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.8.7-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.8.8-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.8.9-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.0-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.1-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.10-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.11-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.12-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.12-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.13-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.13-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.14-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.14-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.15-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.15-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.16-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.16-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.17-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.17-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.18-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.18-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.19-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.19-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.2-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.20-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.20-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.21-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.21-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.22-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.22-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.23-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.23-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.24-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.24-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.25-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.25-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.26-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.26-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.3-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.4-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.5-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.6-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.7-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.8-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.9-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.0-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.0-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.1-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.1-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.10-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.10-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.11-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.11-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.12-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.12-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.13-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.13-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.14-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.14-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.15-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.15-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.16-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.16-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.17-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.17-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.2-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.2-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.3-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.3-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.4-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.4-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.5-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.5-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.6-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.6-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.7-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.7-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.8-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.8-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.9-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.9-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.0-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.0-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.1-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.1-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.10-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.10-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.11-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.11-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.12-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.12-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.2-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.2-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.3-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.3-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.4-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.4-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.5-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.5-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.6-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.6-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.7-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.7-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.8-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.8-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.9-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.9-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.7.0-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.7.0-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.7.1-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.7.1-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.7.2-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.7.2-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.7.3-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.7.3-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.7.4-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.7.4-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.7.5-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.7.5-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.7.6-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.7.6-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.8.0-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.8.1-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.8.10-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.8.11-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.8.12-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.8.13-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.8.14-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.8.15-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.8.2-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.8.3-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.8.4-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.8.5-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.8.6-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.8.7-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.8.8-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.8.9-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.0-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.1-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.10-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.11-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.12-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.12-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.13-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.13-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.14-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.14-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.15-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.15-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.16-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.16-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.17-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.17-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.18-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.18-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.19-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.19-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.2-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.20-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.20-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.21-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.21-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.22-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.22-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.23-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.23-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.24-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.24-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.25-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.25-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.26-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.26-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.3-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.4-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.5-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.6-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.7-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.8-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.9-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.0-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.0-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.1-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.1-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.10-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.10-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.11-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.11-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.12-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.12-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.13-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.13-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.14-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.14-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.15-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.15-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.16-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.16-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.17-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.17-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.2-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.2-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.3-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.3-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.4-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.4-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.5-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.5-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.6-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.6-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.7-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.7-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.8-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.8-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.9-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.9-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.0-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.0-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.1-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.1-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.10-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.10-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.11-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.11-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.12-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.12-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.2-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.2-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.3-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.3-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.4-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.4-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.5-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.5-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.6-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.6-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.7-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.7-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.8-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.8-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.9-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.9-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.7.0-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.7.0-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.7.1-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.7.1-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.7.2-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.7.2-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.7.3-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.7.3-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.7.4-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.7.4-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.7.5-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.7.5-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.7.6-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.7.6-legacy.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.8.0-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.8.1-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.8.10-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.8.11-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.8.12-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.8.13-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.8.14-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.8.15-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.8.2-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.8.3-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.8.4-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.8.5-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.8.6-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.8.7-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.8.8-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.8.9-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/dowhile-with-ternary-condition-0.4.5.sol create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.4.5-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.4.6-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.4.7-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.4.8-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.4.9-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.0-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.0-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.1-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.1-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.10-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.10-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.11-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.11-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.12-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.12-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.13-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.13-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.14-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.14-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.15-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.15-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.16-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.16-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.17-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.17-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.2-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.2-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.3-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.3-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.4-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.4-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.5-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.5-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.6-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.6-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.7-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.7-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.8-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.8-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.9-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.9-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.0-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.0-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.1-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.1-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.10-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.10-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.11-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.11-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.12-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.12-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.2-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.2-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.3-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.3-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.4-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.4-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.5-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.5-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.6-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.6-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.7-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.7-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.8-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.8-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.9-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.9-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.0-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.0-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.1-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.1-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.2-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.2-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.3-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.3-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.4-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.4-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.5-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.5-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.6-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.6-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.0-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.1-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.10-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.11-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.12-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.13-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.14-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.15-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.2-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.3-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.4-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.5-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.6-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.7-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.8-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.9-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.0-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.1-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.10-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.11-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.12-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.12-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.13-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.13-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.14-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.14-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.15-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.15-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.16-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.16-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.17-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.17-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.18-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.18-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.19-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.19-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.2-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.20-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.20-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.21-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.21-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.22-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.22-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.23-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.23-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.24-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.24-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.25-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.25-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.26-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.26-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.3-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.4-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.5-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.6-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.7-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.8-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.9-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.0-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.0-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.1-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.1-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.10-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.10-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.11-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.11-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.12-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.12-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.13-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.13-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.14-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.14-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.15-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.15-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.16-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.16-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.17-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.17-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.2-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.2-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.3-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.3-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.4-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.4-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.5-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.5-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.6-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.6-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.7-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.7-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.8-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.8-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.9-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.9-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.0-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.0-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.1-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.1-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.10-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.10-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.11-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.11-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.12-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.12-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.2-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.2-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.3-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.3-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.4-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.4-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.5-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.5-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.6-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.6-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.7-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.7-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.8-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.8-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.9-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.9-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.0-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.0-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.1-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.1-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.2-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.2-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.3-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.3-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.4-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.4-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.5-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.5-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.6-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.6-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.0-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.1-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.10-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.11-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.12-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.13-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.14-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.15-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.2-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.3-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.4-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.5-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.6-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.7-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.8-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.9-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.0-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.1-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.10-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.11-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.12-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.12-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.13-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.13-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.14-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.14-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.15-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.15-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.16-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.16-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.17-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.17-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.18-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.18-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.19-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.19-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.2-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.20-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.20-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.21-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.21-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.22-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.22-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.23-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.23-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.24-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.24-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.25-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.25-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.26-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.26-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.3-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.4-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.5-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.6-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.7-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.8-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.9-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.0-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.0-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.1-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.1-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.10-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.10-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.11-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.11-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.12-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.12-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.13-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.13-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.14-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.14-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.15-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.15-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.16-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.16-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.17-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.17-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.2-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.2-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.3-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.3-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.4-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.4-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.5-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.5-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.6-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.6-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.7-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.7-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.8-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.8-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.9-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.9-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.0-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.0-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.1-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.1-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.10-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.10-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.11-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.11-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.12-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.12-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.2-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.2-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.3-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.3-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.4-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.4-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.5-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.5-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.6-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.6-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.7-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.7-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.8-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.8-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.9-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.9-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.0-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.0-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.1-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.1-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.2-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.2-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.3-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.3-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.4-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.4-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.5-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.5-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.6-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.6-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.0-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.1-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.10-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.11-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.12-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.13-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.14-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.15-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.2-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.3-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.4-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.5-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.6-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.7-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.8-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.9-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.0-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.1-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.10-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.11-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.12-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.12-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.13-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.13-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.14-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.14-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.15-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.15-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.16-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.16-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.17-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.17-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.18-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.18-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.19-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.19-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.2-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.20-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.20-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.21-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.21-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.22-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.22-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.23-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.23-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.24-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.24-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.25-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.25-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.26-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.26-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.3-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.4-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.5-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.6-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.7-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.8-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.9-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.0-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.0-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.1-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.1-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.10-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.10-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.11-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.11-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.12-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.12-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.13-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.13-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.14-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.14-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.15-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.15-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.16-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.16-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.17-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.17-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.2-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.2-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.3-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.3-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.4-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.4-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.5-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.5-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.6-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.6-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.7-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.7-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.8-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.8-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.9-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.9-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.0-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.0-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.1-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.1-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.10-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.10-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.11-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.11-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.12-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.12-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.2-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.2-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.3-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.3-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.4-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.4-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.5-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.5-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.6-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.6-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.7-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.7-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.8-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.8-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.9-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.9-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.0-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.0-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.1-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.1-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.2-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.2-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.3-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.3-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.4-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.4-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.5-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.5-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.6-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.6-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.0-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.1-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.10-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.11-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.12-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.13-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.14-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.15-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.2-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.3-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.4-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.5-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.6-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.7-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.8-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.9-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.0-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.1-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.10-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.11-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.12-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.12-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.13-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.13-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.14-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.14-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.15-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.15-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.16-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.16-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.17-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.17-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.18-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.18-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.19-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.19-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.2-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.20-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.20-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.21-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.21-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.22-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.22-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.23-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.23-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.24-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.24-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.25-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.25-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.26-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.26-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.3-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.4-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.5-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.6-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.7-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.8-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.9-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.0-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.0-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.1-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.1-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.10-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.10-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.11-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.11-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.12-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.12-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.13-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.13-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.14-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.14-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.15-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.15-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.16-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.16-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.17-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.17-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.2-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.2-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.3-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.3-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.4-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.4-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.5-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.5-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.6-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.6-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.7-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.7-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.8-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.8-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.9-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.9-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.0-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.0-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.1-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.1-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.10-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.10-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.11-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.11-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.12-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.12-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.2-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.2-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.3-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.3-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.4-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.4-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.5-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.5-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.6-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.6-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.7-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.7-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.8-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.8-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.9-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.9-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.0-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.0-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.1-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.1-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.2-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.2-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.3-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.3-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.4-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.4-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.5-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.5-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.6-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.6-legacy.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.0-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.1-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.10-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.11-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.12-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.13-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.14-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.15-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.2-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.3-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.4-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.5-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.6-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.7-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.8-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.9-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/for-with-ternary-condition-all.sol create mode 100644 tests/e2e/solc_parsing/test_data/if-with-ternary-condition-all.sol create mode 100644 tests/e2e/solc_parsing/test_data/nested-while-with-ternary-condition-all.sol create mode 100644 tests/e2e/solc_parsing/test_data/while-with-ternary-condition-all.sol diff --git a/tests/e2e/solc_parsing/test_ast_parsing.py b/tests/e2e/solc_parsing/test_ast_parsing.py index 307e6736ff..7c425e5179 100644 --- a/tests/e2e/solc_parsing/test_ast_parsing.py +++ b/tests/e2e/solc_parsing/test_ast_parsing.py @@ -287,6 +287,10 @@ def make_version(minor: int, patch_min: int, patch_max: int) -> List[str]: "if-all.sol", ALL_VERSIONS, ), + Test( + "if-with-ternary-condition-all.sol", + ALL_VERSIONS, + ), Test( "modifier-all.sol", VERSIONS_04 + VERSIONS_05 + VERSIONS_06, @@ -331,6 +335,10 @@ def make_version(minor: int, patch_min: int, patch_max: int) -> List[str]: "dowhile-0.4.5.sol", make_version(4, 5, 9) + VERSIONS_05 + VERSIONS_06 + VERSIONS_07 + VERSIONS_08, ), + Test( + "dowhile-with-ternary-condition-0.4.5.sol", + make_version(4, 5, 9) + VERSIONS_05 + VERSIONS_06 + VERSIONS_07 + VERSIONS_08, + ), Test( "custom_error-0.4.0.sol", ALL_VERSIONS, @@ -367,6 +375,10 @@ def make_version(minor: int, patch_min: int, patch_max: int) -> List[str]: "for-all.sol", ALL_VERSIONS, ), + Test( + "for-with-ternary-condition-all.sol", + ALL_VERSIONS, + ), Test("trycatch-0.4.0.sol", VERSIONS_04 + VERSIONS_05), # TODO: legacy failing Test( @@ -412,6 +424,14 @@ def make_version(minor: int, patch_min: int, patch_max: int) -> List[str]: "while-all.sol", ALL_VERSIONS, ), + Test( + "while-with-ternary-condition-all.sol", + ALL_VERSIONS, + ), + Test( + "nested-while-with-ternary-condition-all.sol", + ALL_VERSIONS, + ), Test( "complex_imports/import_free/Caller.sol", ["0.8.2"], diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.4.5-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..3ff230deecfa2159cd8ae625caf8e5765758791c GIT binary patch literal 1880 zcmbu=_dnYS0|)T05m(fxQAD*;N;yI8J!0=j)vU7;Nt8qq8Wc%;HL8g1jK_YewxH!f ztk$}xX3e9D#w^+zr6unA-0#m%_xb$rd42wZH{6bc(->d}_<;@NscZi1z)UO`04U1< zfB^siNIV&X4Msu9*f0z<3`NBG5hI}icpMTNhQ;Hcs>&M5n#v@6un#IC6i*EE@goLc zu=i2QK_onmn-c_h0{|5O3=SyYN(#g@6`h11`IP8t?t8pm^u#tQNZ-E4NLLZR*%(#VB~#qZgDzrCptWu*Xv4B9MVD0oV23`=2Y@uHKcI9v4BM*1H2n7MZrVu#Nf()fEHP; z`z7+#+{prBb;eY;vb6?QZEX`Ib^nw+!Ys`cHZBy6NEKP+^}T*|rQf^Kb&ytB>ep+u zSq;-Yd|oppS227Mojt|Kpqq(l2@G|Yt<3IfdSUV34EXeHHCdwS8CqYg9l|x5l|4a2&(u|nH z@ku@$E)7H!oSYtseYM1Nk{2D2Pg4Hyzc%haI-R~hwy-%Q;$GMN*0QA$(I=RHi}HX! z-&rhSv`zSocnS4DB~LB7f=Bjq0F$*$at9}94Ms!~h(roEo1khBBjWA-}lb-mlkK0HuM3XyUe z&J&Ll|K<@pnK}E`CFmz(nc(Cbhyn5O$GMQ zd-%=l*E~{=c2SWq3r6-z5l2Jzy;(AL!J<;DO31wMXZa_Pg)_KujS05cuF?~nrTfY}|oVB?xU0B0R^gOt7EQe&(S-G}iDXPJ97z|Nx7e2wCh_)qHyjF;-@ug+F1<`-`BC3+Z zld|5&^sl+~xy8yk7YOUyGwr=hVy|{$^a?}=+B`mJz0pe_cIUXVBPWW#9jxkF2OObbLXQPCIepdFb6nDK5d64y1GnA zkC=3eL~Zu0h0q$IyV4=9eT&UGOzRqViz?|>T7w_`lXe4c=DYXMUFfq}NQb%UbvjIs z#cb3s)OaqbKEkk(X0zr<6U;~3oZOu9qyk14)y4;(jnc!vXSR)NTwNtL^cTg-|s12p5+jY z7~`gE7;Y$oyps1v{QbF^ivZ~q6RWhk5ZBcB)J#z)pKk-Aksq{O?xvw4VH7UF&8Tp` zTY{88#eghT34&*Qr-uedF9tPwv%>`+=`9Z7e|S1^^qt2Q2#@JIvFrIVGG20H_=Q z+yDT;HzX<`Fvt%Q6^IRhVEw|--eEBiWC+?f5E~eRhNwX`p<2-JkRVUL=+KZbtfzMv zG9WP04~hy8L36Ql0PX;g2mt!&>HZog8knj{db=KPX+JtpzDJUnZ7T*>e0K4rwqO^= zl&z|jmE*u={_0lF*mn1-(3t3EEBxjsQAcO8kQpYoW0kRyOFw3MX+sYCx)C~+MEDu* zz{>MWvoX2d?sGLF-buEpGTZ7QN3Hd>*nwHq$FyhJ?4zcLcweOZvzx+VLzJ+fy1s*Y z)b^EXCl6!dd-tbsv_wpNUsi`Bu3L~Ov(NWsXb|wv_!A?qwlSuImIA3Mzg8Q$3NA$S zY8DM2iC#8%*8A~3?b5W7dZX=ei?XguGRNoDy4fc((7uS3lH4g-$gw4C__4_!LpjWt ze7kgQ<6Q+*_WZ#@rqg=E3YydOxDjMt`#q33)l-a<`7QCdBqZxj%idUi-VEo9_8U3V zx@n%=hmNjk)D% zfviWiT5elJ7}G+1_YJjvl2t_iu+$0fyGhqgQ+ncf!4b|a1WPRY3^sdiQczs%; z^Na9fg;8x&$;84*gD#sKGT4S}U=KrZGZ~_V2AxDhJCr0U8x|XJ?c1x#j#_#oSvrkd zdSXPFHFThBs4jW-{0TtrQ)*d8yvO80L|@jlaK!6=UpDIaOo|abdWa-e zmZm6-6V;1tOEq21JW$Os5)jO}nc3~3td+pi_aPm_N6>BG?KA-Rw zbDO(6KjIY*97m+v{g* zOVe@mM~t_Cst0d9m^DGm>y0+!@Z0s4*?e@}K=<`&W+Jg+A4JCx*~KI(qLo0BKW*}j z496G>vDs-3>6HVCGr+4jJ0u;LFjAUTiMuM9STk&Up%Dj8d(+L5E1( znM+z7W4*~NIO%)?-osOVGAVoZKYukMxxGyGZsa|?LDJ&gB;tcJSv_CJrse;)G0H)`SLM(9^(NaE6rZ?TLkkrm$&B8Y*}n#EE$jH{>Jc}7 zTv%vW#%H*C6hd%_5FwB%o}QieR|kRLUEt^DdaT45#vdl>F8+H~?sf}Os2q7?0pt@OKekCKF4Hxu$#)@+(RO1bOf;UU^ z=;)-}6Po_ry8N^qT%!g)nwh>O?stQD+2VVZ9^%!VzS%^zZHAJA%fN8l?wDdgcLW-X zV!Xv-@|!F;a`nluH50ON&+iryW4M>TT{XKga59CARj zjeWG!o&DSh6(;Q-%K^Jm-m)BrI;wNOO8gb3)WmC=@dD#FHOS*%4P4kR-`hV;VY-uw zO4L+1sOBkZ0+PvjLwUEULBdBqBQ6G{)VISU*Gu>`riCjM#S2a}Id+N}7?kp{35kz$ zt2_E@|NgB6e$Q8S%Z+A_q!hy+hQ0B|@l(s#O4ll6r?hw++ytXym7BP0)veEO2Sna$ z%pX)yQXoMVV&~aq?)_e7nQdCinuhYbL@cYq!92@1NxEapL4&HlU>245+wy=-!wcq= z{?iyOWkJ^iQN1a0(i8{`^=iK8R-eRc5&Y=|u2HVW9%?)X?qN%s3f3)>PpG%QUMfNu z@QIVXpJArpIKE%!vySB`izX*Uhf0*BIRD1-4ZB#rIvaYugrHr>hi0{dwQMZTu^E8= hH*7y_`!|W_{yYB9WBEnzu6e4Nuh&M6V%<7~sn(aJE4rOYHzj(i*`SA23UcT+-* zqL^aZn3y3HA-S4+A(q5e$zA3=j1SkB0jbLjwpA1Y#&0p=YRPq<5Kk(I+q}j2Ir_ z;}`B9Oo$BByKtEpDkdldcmu!<063YN8f36%Kq`OBd458os3Vl1-gY!O!&Tl~gZfL0 zvCK=7jX-(BcBY4zJ>4O*@5`%2**>||26Nk4InT58vUa4b7mFWPvN*d7zQ%Aq^OY5{ zEZO`=+?KP?=O@40tR;Lb~FR{$=L04O} zjY?k57FLlb-Ui2@yhsgj<1X$@){8U5vkuq$KNIr6UKQ7357{1|Qm`a1$kJ~odkE|M zHz&p2549t8s0(y$p##-U&-v{cXz$L55!ywz{CWxK3xJ0;F!dqx(VKH!VMH4SL&er1YU}-MJjB3c2Tx z`5lzZDGd3vPGdK;JhFA;I+%?aMQT>LCLeG)f*DLt&o>HaDREC5ZFsL_epPYMVAlH6 zS%cKK-R)7lgfR=`gaTKuu+!HqJKC-b5|5CZOjd)JSB$TSTE+I$@c=U4biR!T9twFf zyqP}9N<+tMy3*Ih6`f4FVbSroj&B*IZ<6)~_&i;A2alj6&Uxt3l>xqb;=LJm!MC+MBI|%kNsh<8E(Sa$meG{$fu{ykneByL}szMLc1-8gr z(4HM6kdp6sy}gzNv2?*5%;N~x@c>851BZ{nkX6v} zkyz&|&EFMtt=7L;=Ol)8jrS2SX&(=t4vHP!$Uv&8Mi>~Y55`DxoA0x4uot#XX0F#? zmtze{@SqEdt!C~THZA8fSxJ|7C6HQa*~|_m(?^fTsO8ZlE&om{HRHeAjuEu83okEg zEnL+`J@x*^*v!H|rd+%S`k_qIaWYhL?O!|62NG9;LIa&f)+0qPR62eWXIfef5VXMFn5{@LzP{eRrhIU`!*ppy;R6`0 zqPlQuAf9;4y;Mx?E)LzCZ_lajIoC8kh1GOZ7axtXe-iH-Wt(z;GVBbaelk6U5^vkX zQCT>qoz)BJmB(2eIn9kuX*@cwv-n=qB2Eg1dx{UDglG3sr6TkX@>iR*7>}N^o*n$) zZr0JAuZ_=FINqM1`ISF$NTUG-H4tb`zOp@Bd5ShKrJ-so9uH8bl?5B6)C=^{iL+y5 zb&S}aP7b9ZYXuDL_e5Ox_ek}_??qPiQAdkDn69-CcRq46F-(F5EvlU}V9IH_6~=%B z@q{zmQ>L<<#tE03imP|RqDu-}A&xA@sC7q8)lfZ;v^e5i2U&xNPS-Az$?d^Ta1_k3 zVLQ;1Fc#T)5!nj2I$}UFI=J>g?_>d0HB|}@N<4pG+pb7w3 z0s!Doqyz?q;B_fMN{>zVyo?mm9Om#Qf8tlx9Z^8HC zc`m*))%J9T+qW{iSWo4u;xw200?*DIzuGaVpW8}H19v&t#rorXXpYi{n14iul(+Go zhqgK5@DG{OxM4XH$8^M~U;dby1IK`1c*oY~74|I}-4(79mxyr{&3i(iq6ueY#VMdc zMiF zulcuLj3@lsgWp5+zjLedP&_Jwk}h1YYAqbvtxGu@SEGiSWz46jGoPc5q13 zzWr@%=TtOC=soZycG$W~?G&WM8qZCi<@HKaf;~UP3{K7^^<^wbvStuho6qK0QsQgb zJ6zj)4i{6wU(Y^LE%lB~t*}gK>h@#o=sY;Jp2|zx<0{Sylo#^0C7&E0H`z5((+X%+ zp7M`81x1?E?sAZ7KA{;x80!*@_=N%H%T4R+IiW-SYBjZ&p4cIdp1QcLkjs<$ls#`7 zaiL5$cn_0yre*G0i|4z@6V6)fDW0n*e&zh(L7X7E(8v!Np>fh`A`^6Gi|N!xGE42D zUat$E_hf^uqFIT6@>5gw)_pypazL%{S=X5U$IGLIlO?VK?wuvZbS1(pN6*@8%3BID z{Nqtl^H$ig0o3S$eY@WcPEM>6FbO4NGLY z+>{<~J$aaWG1nSwuPB(YxFN@1#f@PiWR@s&l+0iwGDljZl@~7=ga6LZ9 z>*Q>l8(x2$IyoZYF8{r0kJR#rJVbtz&hHEIKBus@c2NKCHv!Es?ZI}3t;MENrR`zU ztF(Ht23{3sw}8?LC(Gdr9tGEdM{ejyOhyF^-ET-`fH+EHD6Oj%fw?4~llmG?wF9rblS|pTE2<)BjcW9#Ms~xsW@Iu9T=N zz=CpQ$bXd=8J^2i=ewuPycnXqCW0ItwR?$tU^ZJIuF+u`+-<#UVUBJ2@VVJokz5HA|tCljD@`Dmd(zIL=0VU`P@8H+6a7DFEJ?Eo5s0U z%}gALi11HtM%t=BiSM6SPKmL3>baBu@XAqnFy_GG0Qwz-&!C$CToS6|idL;E- zg<;Urj1n+bv8y*syZ`c%4=b)6r}1)Orb(=@FQ|Jtlg@?xn7E6w*OX|nr)8~$aL5wK z+y*BLUiTJ7CG|Y>&yA4k8n@8BZ#-EFy@%js%C}&Em+tMAEZq_S zfKg=tFarP}kQ|FAgav8G5~A_i(Ls?UY-GGPj!X(9L=(s)ZCxD$9YdWca@f_NxNvf0 z^i^ym4o`>)(ji8XNkV-500sbV0)Y9QJ0Z{mXvC9=k!DlTl713Ft?TsdEDw2vIz!|I zOsYM?mgfocNA@Kl$8M+W(T$E3=~3A=Cc^9<8%HGARpXt{1&0b4Skx9PFwPjfs@AFrDDLBD76-qM%7}MrB}- z?IVz#B4cpd4zeEJVdL@!>T`D2lYgSdAx@exku)91+q9S(DiAjyqktvqE^wOkB_@~FMaZbd98C^ zG>;v@5fx|HN-+Ai>pRFW z(bv?zNz&vv*yn;pc5C}$6@o#3Ky!?9vR7BB;hAJkK3z_%yW4g*e@3lx@1 zY#>6LNn+-R43@Q@CKZUfvU*OW1A}C$leH6%S{}kmL@gI|2tW3Z|v_VYt(2y=m0p z_2NjIfz>maBDsycmW-rPJxAg2lJ-$NvKF>Nf;bZ+AZ)&Q1H|U2ok4_!-g52Kr+I$q zUP)Z)oZ|LJr`Eu#7|_=i;#iP9sjp@_d2UTrlk>yLV$c4I{`|M`I=16>DxXnBtU#Of zJcU&VD}c1>Ss606_PWnvJ3*y1#!65Sz#UYDd$%_~x>gDaNGkesE0%R%5S2%2-wBy~ zdZkn2wfk75>UhER8DN{OB7)}0G&L8`$-J~Ht#fV?bUeN2sQpFTiGQUdO~td+ zPTf%kTlOi<8&9P}y>5F}zsZKzDd&}&33)tcdx^sy61qk6BlYMV1k2fBMJu(Ph{|nF zP3%t>2dsU25vS(y_dLQd|Bz)GtYlyPy`w1l zC~gZ{F1Y9g&NK#QK{C|QjJO{=2Wx~Tg~^jSThLeewBu#(bd5DKg@RXo>k$+|@Zw=( zjFV&RbfK*g>f-mxr~3|7D6(0nj93@<)QE~93b=Jv$ zPuGxNIdRD%(fxVu;2wb%BRm9ZLGzPi~ZKxV=*~~Fs%rQbfHo>;_>r+>LEh}DVJiX&@600|xN1Va^iDk*nn1Fp*mkmBJ`@GR!eyZ4@TMNbVy!3vD?Yxo>jhnzQ2X zJ|ktVoS9>I`@i4cPw(@5c)mTKfAHHtkUoGJzytV>Jhbk`h11o+006Hh0H6Z^0FdYa zPn5SCBmm{_3GsKs`Z{BSAg*X%B+4I!_Jt@zFGJO!erRtex4=hetiO{p*3}dB#0~1@ zhxTO$u>c$afG_|+H#*uwm7$6uei^RQ=6>Dni@MY%_AJ3tSWl*$vss<51!Kfatl3Yr zX1~>Lk~p%_O64CB{9U7Gydr30SIK`9lT=Tg|CKa+xQ0-N>~*yoXuNr*cY>#zI<3Ap ztgO5DE#Kg&?S-;838pD5h2~dqJ(Eh=AIlR!gGL5Vk*<#A#sb29O<3=ut~)kYvXa+i z&7uGpo&rX;J)4s~@Kw<*wQEX+y8CyTq{8@{XrzbaX5k<6sF~>S2SbQ&@x?8!4G+T6 z6L+gD&s|s>UPzt$4K?VGylT!$#QR`ZuQPmci@z~cBCaE5=(Y~RrWz8zf@%vAEz_Uc0RBdWS)C?B*t-KS*4rP1ZUNX~rycma8lhDWeb z3b5Vu*Q&Z?WQ_g8yyZ+9QAKL~I1K9M{ISe%4e&V=i1a+ku*vM!Ef?=U?uQq#CiZ1v zD30Wp93lg%38kmrYUb;P+ziK!4=jYq*h^5RG>%1f2_rdT{z9dmdtaSI&p?i@XC7p; z?}>eoZ{A4g2!>hAdrK9`{H|{rxn%_*axWmJUQ~#tyL<~mqct;(OZro*$-*WSaOXrp zU76L;Rw8gof>l%Q@N{fjY+Gb7i_CmxxkPG44K!b|IQDC(&OmPLfG2oORo8dCdCN?mFWI{pC{56LYakw`@XQ#_i_?`rB{e(WM(49Luv%ouY+Q@U=;FHM^;YuRU|xFS!egRnYfc@=t1?Ydl^G?N z?)t+y%^!(%z!8;vDtkQBm1l5WaJf1K(Ng6T&l7BH3&B#a_Ao~M1_@skQoddBuuB{H za_aM(jls3PIGs;0TKF{|oAHTm7o2!$Vym3;tmYS8km()&(PG#fj3#47ia2scd_p)i z?3lXE7nOn%Q#7*jf}VI&j#|+nQq$zDKWx1?hd$@Xp})OnXB_i#sm?;nT*MMccwz7%&+(bxWx^|+_?Tu(+4uwIJcnn*DkefC zc3g3r#3k)Q={PERUN^cN-nZNA5K*0k|4am@h+8lok>qmqOXNEFfAaP^O7|AKP4q5< zYm!MvRa91+83C(PLUs;W)P6;4n3B_6Wx;78Ta&s)6X%}n7@to_{>upf+Ntt9ty9V( zzBcD*O;Lz8`N$~+EIGk`B23$>f}eGIun(E+6m(?Zj)ACPt*6{qk*qur>#`?1>$C0H zY>k0p8t;^igfyfqhh;E|`-r-$10HtegGKq$Mt05_P;6I(ehKMpx?cO>MJ>32zcu%z zI#oLEuHesd9z~aKt}}4s&4R%=8#%zW>(Dio5Kv(^z4oLuFSO)0qtt{ zGzCN%GF_|b3x*mpzjd)Xo{hDH%VEIsaf2=9Hig_a$sTGt8tnDQ8*p5!>6+-z|EK-2 zSl4Rc9FC-xZ5}1!y5DMOpX!K%u}GfN8B9BST#yl$tUIX&kCnQz)z{o|%`*pCtQYre zq8;HCDh=xd84QoLnT7o{uMrVMVB79I|7u;z!0Hg$VpHEOQiszHeiK?~z z^}%RZ^kRhJbjp~e&zINk{l*tU&d;Vva-t(NgAQk9H19xe$ce-9-g03ukEQi`Z?9mUVx3r_CbF`=l$LdjY zw(pd_sDySW0o4o@o1~y~x4?uGmbaGQwkrayqYoM3GQIgOMFAm^!Y#kvo%nZ+ytw2c z*EYwrj&Ev-@y`!<5G-LirEgNPdEe~LMI8dijZcpC1t zBa--YMs0$bUHtT~n75#7z|d6h4eZvYvtOe&^H|Q9IC@}ew4VxZWA=cB7ic{nSH zRI$C>z#rQK=SWbS3q6XwA_2e6#HolK&=*>EHQ(d;-7C!uszA)8Bgi-Q>US H0Ra931w~y4 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.0-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..04b70baa85ea37f1b9294f777fba190799d6294d GIT binary patch literal 2235 zcmbuBXFL>+1IF*H%a)PRAtbWyY~l`y$hgaPboL&{nc2HDPKu129YR(dGLDjwRSH?1 z$XS1x85uvn`oI6b`ajQ$=kvUIUOcb9NCRpb4FDB@1+eCPYSFa{fCV`KKpg-8 zIAcQGJ-l6{Lp%cAr2}2Cz7E)j(oPs(XOBP+jIT6QMnOhVCII7Y=Mw6N!3NqnV4d7O zf?Z@h12DeyG_-&R06+`?0K?(j^&OFoaas4)}zd_6?F1rqTld~mUP#ttQpPJbP$ zlIGv(7WDc(_tHP^bZu~cn`(HS~qg)`9E&mApd+kcDin_Bz^q8>$Xa9BK#ui z$jEM`PP?(ijPl}kgq3h@G2ZA2Z3RL(tbZEvytf`tGoo`l!rAFTy)GBuU^~{k^1Y#@ za$d%|xN#D|pQZflISOQlqRy|>SJZ-3zdm)9uL)D5-^ zw+a}{Wbr~f`Et=BGX7PV^4zSwgT7A~9ec0vRI;AF(HUpzs)i{u(T;fc$8K-mKd2iz zk;nLzLioL>DRsqE+%y z)?~-XQNJ*+*NCfO!Kk_ba2|!kO`a9AL9id$w5|D+h$0P5m=slJ zhY_LFyro2W(#l>Ehw+;9s(>F;G?ItijOr+7944;-zMnV15cZB#l~N$sVLULcRn< z%b?Sur!yG_{3l`VlQ8z2aWdJ4u#z3!i+fBV5g>YC9HIE!L6lf2xm0k@CB0=PDf#mkbqaMOPxQRuBDKzC_MZca>ZQ>=*N2EKR59xPoxXd0PuDL9jgto^ zujYLBv|o$oD~mi?T~S=k;A$rNyaGK;nqn_Ld&6ILcnIE!@CJuB&pKEE_m|_6MxzOr2HpW0D>y9ef_yVi^a{L?+@MjY6D$Do zy)K0Keo^rRn1x-oitszAEVRhZW3Dsj@B3B}^PcenGm4A$5ZsI5IN*I-3nYcZQB4x@ zO1;5u=hfEt@l%gTt(_Mk+xu?P6<2u`cZctRn^K)me6CSE-QtUF@AU0w3{AY{aTFRM zHWwh>Uh}Xw)iR_u(p2g&pg>4Sf`+NK$MS`z)nvM1ly>YCqo&k2{pr0 zbWhClnIONuBRo_NqNm3-3b*!U-ev-_c09`1` z)GyxAmDD2TCChS1u<$Mp6Kac2>I=GZTeTT^NJa%}tP7fzdcRE-LGPC=f{U)_&ss;! zI`1p|dH+?*Aq=}DNAn2HeIXT9QbP5yI;NNFmJ%BW`PHyOy1cgQQ{;G{9II73V!tV| zQ>=|2A-7cs!$o%Ji>$LN5#n8XbR(eFPhu*I&W}u-P;VpeH*fUXk?m} zzyUYt5^ZzFVfnbM>H{urPkAT+oz|y+n~~weKMFrCBX$}?|QURr3tcBv{n*|x&Rt+Uy8%xi&PB`uYcAaY$6SSR2tO(8y^1f!+#Y6 Z{2TudN+1nr>Hcm2|Jd_Ss$Kfq{slHUEI9xG literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.1-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..b08922fbf5d589a4c7949714041ca3a4829ada4b GIT binary patch literal 2319 zcmbu>X&}=N0|)Tm7<1%G?mH5S_`A)v(58^P4S$TB6C0~sw~-+fYkow$H!(`nhk*CRUBeOZn%Y`=TKZa73Bg#u$WQ|D8rGZW6Nn4< z(+avu!1IE+01p6&2LM=VYJl#6Zdl2O_w`VL!Z&!_iC6L|nU2!%lU4l92BIxtNRE=a zUs-703++}}gFjop9~+eXQ3pqTmBhH#96KLIe))Z3h5UYh(aS({x2x6Ms5k}Aj@`M4 z{Z?sFQ|~-iW`5JYEY9jeq%sZ^c(tWT0+k;KZc5)r!GJ2FCIom1yRg19{0jf+NF->tnFgOA4{6 zhG$Iu_-5R=h>+aw*=OU3X7~20NsVp$BhL{#(5Ja9F^ce3s&TD4)s}+3 zUVpPWP~KECsf7%XV}wd+>at>9`450clX8w- zq@>U$RAJwnr!!qfa&9H8sM-@grXhD05V5w-6{P>aIwrjceUhMcI80d)DYvrKX?f)@YGxE zu&q^;672W^Yv68N$HMXjhRDifjbN8fi1YbsX?H&tLFLAxy?eB6jTgrGUCSP8{>=)R zN1(7pK^3bnjLX;Im>-P0NIoH6m}c}1zI#p|9qx-pMqGDNjbEWQNXV4`>TNl0t*!1# zhrN4?e0=*WOcre7Wx2tK5mhp))9gWqH9>5-%Qn&{-$ijJ)>f+-Hp6(OL}N!sd=EvQ z^*Tjdlj=2MHlV)QJzNvJ$E>XNNxMh*`X^{ugKTzAb*0}nLAimCe^3>a_uvu2; zC{=nwl-^NRuPWGQYJb4dpG4eN)-rq|YMYRn(WO-UARcE`Svj~abt#n}tHg3PI zayFhTPL&<7yq^z9&qvRCq91y9kL2#G(o}CawcE}0;W#+HKnyi5IV;Rr2?4Th35{hE z&e)$tQ(I;bjq)u3J6#J2UvixX^d-3xwz3}#>9_Or7SN)9lA1+7iXY7Lm&N($JkHbX z{~Rg#ZVB0b= z-#{AjNn-LsDYwdJjk??PBpG8P_?bKvxZNGl8a0PSxU?eBVmG?INEyx4zknxq1kxKKn zPc`vauy_gCf3e@4F4%nViKAmM zHH-63!o$kQzv9mIb)lZ98)ocU?VO>t9xUDHTU2l7d+DYR`F_NvcnZF!!Efs8?hfe= zRkq9tEAD}eVSDyz#NYW@K%sxJJrRN4-O}C50b5!_HqtVYBUFCfZg+0E^dkM%*2?CuwoPHNF-uo|FG=P4oVtPyWP$I~*xsE8$Qg<3^}GD2kP+}K zllE~}4J#=4>ad`WpKeb;wCjnd1yeMQ)=wz&Kh^wt!=I}B%@6U~tePvLxHZX*Zcx$W zce;VP7%{98RR>-d3>TMk95O)K5U(?H7`VgvG#$UnB(6; zn+i6SHT#R)&2l<)Ue6hMUu_)Vi~Fr`1z;sNZa4NLx?{8Tn2Yh9ka_|<4XHK!Q;&xl zy0;KDn@Ld>e#Ktuu2HnN25}%b|2IhfnB>2S2mL$$4^Ql^xw!xR0R3supC$ic4*>iJ D(qBy;^D>YF5?WRk2qic5NlD86}ZO#cGYzE)}X;6@(UTIc9BYRLHT4 z*t50Oh*4Xd_P*bz`+X1p-}mx8|1C|g&}ajw0jz*E&oev!T&#_EgPJJJli!|MoT>Qj+LAyh!=Gmb6YP4&ekESGRI$A^wjfXwJx6?nYpd} ztzTLDVELV1go8*~eu^2Ew#Y&)j4&aW-C3SO(`Tp`;py?P+=z>>rxEF2{1t4kmg9{n zqgl?l?kb$M`fc$wPJMx@hgkeQv7h}WX0RAf;t<8)b^_%nA_^ep%3vnwQK}v}DX{$E z^+m&gEGE&ohCRjP2I{Zi7U*9uYbleUP4vN>JOo(s7R+ca;^zDxp9fS%=%iQ#op9na zXSluuguw(yy~ZDpq*EByp2#S+vl-K*ye*-ywvR%Y>4|nFrjua-c0I3WwTJI?z4m~L zrP7O9Bh#!JF3XgHeJ|gbcLHk)*vo3XaWjXG34%@J88a*n^}1I`H8cAHY~~TdFA(7S zSX((~zuk1eLj>6P<<&t|2?8IlVxNzd6l3mgJk*R6vH4;sWZ*hD??ea_MshlCRirYb z&Zaq}mQPsm0dgD&cn^*DlU)DL9Tj=@OSBF?-lFe&57;hB$mGRZohI4>tW#BHr~n}% zB7?m2Mp%g|egTzy`S&?irO&GQ=0KgK0*;-^b=1!EC*QKthtfJ%w{7)^nmI7Bl(c62 z>wQ!-xP#;*9UWc*@j-Sg!P!|wYl3unc6?v}!OZ;}j&|~VD<4Yikk583q0M@`O5Tp< zY7$3E@`drV>AXYorWy`cIUi8_X~IdV_p`K&$E#iaB|_=e!BJpDAlyTE8tWMr#z-)4 zUBN&3adu{WOw5@bZrYFM?FxXa^JWX3D~RsQ`RwTn+%6i3URPt^^9_--xH`^dA%n`B z!MEO6$ZoR$8UqK{FIIo;myP_8t`ZA7ipEes4(F)vV(VE06Yepkx2WSn2=Cq)EKJUt z-1zvVFlg9-nY{N9r@+$2#KONX7qtFXwqP+>4>+s{39POe{l6dV3^d#a4KUaZ8bFoZ1p12p`o`n|#ii(7KXRF-6j6 zduC&|fUY)qVhv>kXC;r5GU@8QUE+O9TwgIXY1Se~i(t-?1kQ-h6Q|5tT*kQ7g6E-D z+-K{%ed7hFY03odQ)Bm z$BIHJ;?YI3Ln4+)cGn2Xosb>rr~@9Cb%?+UrQWvFNgDsOJ%S{Q>n!Yp9(_o2y6EEqdC?`Y{(f^3!T9uXS(W&Z$X@^c+ayarH=U zur@f=1TvU6D*k9$f8T>k-FnprGvw~1P;{nZ^<+t|=79?wm`9+>1Mpvy{Dxpp+&%Pg z%5n|h?Ou1Ao@r=-WTe*jhg>XcAymG7w!Y&9@vJdCw%V_I8_?jt8= zlf+2FG~K^yBzK;=qC=}bQQF;)s)fzxI0Ee(GYImNx^Y7l+;6Obd#WVN+b;25taX)8 z&sd)m*(r7N1W1Cg7{8KHj1hq;7N#tAtVVv@1W@srkD`~zOe|R~Y_7>0mEvnoL%!^X zJRS<*YR2JRPCkw@x0k_P#htg3y2T|7>YNAq49EJ>;wh?~^c6g~`DOaMeUK3r(4g&s z)J>P7WpF=ev9c2cJAPao%{z7yFNHq6D7fNWPs(grppSQ?j7*QYj}=weZ`R>C#Pi~E zucdEXFkmHXIv<}0D?e*S`Hv4T=ZWo%uer!w`zcav^q0ldx35LVD%N!XwttfDbH>p| zS(u8G^Z`o_3yc%{`ZO^P5`LJF#qYdPB|Wk8UrA9nRRJ_`@{9hDMo8kS4zG#yB*v`~ z9y)TQaZ5Tu&ycd{Q(bQ%;HPhp#CWjKv-Z3v5u0DS$ZximlP5kW$_ESAJhL3;{nCAMX=24G6}=(uQ1Iem=@|8Iy8&!3S*|AC(@EDq-Pz<%jUuLcU-ww zp86*hDJ|=bDU+1&-41!%Hrzv5=&PA_-_xybn7tbp5;K_XMg_)P4D2)9U+vV&43{HD zyFjy0tfk8Orxu~I>~Vu8u?{W4UqHkdVdzJO4$P?WcU;1XfHnoGRLi-4C!k|evYd1e z-5b7HbWp4+SU~UioF*U z-yIj4*y!vpTG!~vvD2Cr7nHCq>1uJ>pvWo!rO+_OOm$ART2h#H-JAq+?zHwk6}_T~ z`SdYyzvbzMc>zOwgG!+n>K+f!@lx(g*)YV?l!{vW%K!F;-|Fz+L{a_0|6>uBrnFc8 Pd{F(a-*2kY|5^V644F8x literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.10-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..8437ea1414a64cac4a4096131b39b2807239953b GIT binary patch literal 2315 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 Cn?n=; literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.10-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..2da26fd92237fea8a0758974a14fb59d1ed55881 GIT binary patch literal 2228 zcmbuBX*?4S1IK4GxtaSu3gy1H=umRsab%{|xT$W>wsNp1>R7zsI& zJ55LrCDc6iynkLjzu$}R=lACK`fCdV(HjDQ0CoTsapv4@2v1$S001D>0D!9i000ph zg+vAWDMq2NNJXq42JMZBQS=Q(BT!gWC|XfPNkd6fDIzo&?iU>viowFYF}_Gtq@Pk? zL@1hx9t`jR0FnRzgUrkT^TBdzA4~xqlM?6@SKjFk9#?kGpd)C;?JR8W1Xrr==tsA>+nxR zla}X>TeZgVt{0oDaM$y|^)}kEBlF5-uShuhaWmt1gs%t5oL6YH3lrQhWbL9&aBwC> zBPbUpZa;$lUVJ)bG^s0(v@umn);-M^TEEWqO+iiYog9=K(qAuKT4EeyS;n0lLPa{` zr(bN*nB<`JPsOcgyw-ymG)nICeSjV|Dequ*R9U`M2btQb{G4Stk|C2`K5M2Nfh38o z%6Z759Y%g+z+JgG0^D^wwc?307cY*^HHrC({NpT-yA56)IUWUc5>U1&)@EQyoI>wH z)ZQDi%?`P)`AdGF&REt}j;cfaI}XM$!4`uz|L`%_WUy;;@?);n`MMWH9XrY}FHY@` zoR;8dsBlSe%HynT^rgQoJzSvt3E|~s z0Y>E>aSP*u`Xi#Uw?(mQ8|P`K|AMun`ySPC>~hMF49@{Dr4^tu>-wR@a2K|_c3CW9j%k^W|SP}>1>oV`uh1^Wa+?S#);IMPR|VOx;qD6d;7u| z@m0pTt+_W5aou0aN)0fCJ2t2OK1%^x_GJ2RT**X6XjGR6mXH-I_Dt$5wf4+tDrv== zYgr}y62pvhbCtcp%|pLkCa{|RK}!4sNUjHOY{P==B&$7nhHwL}Ux3h=zZRSqgqY)I zpDq(hScMHO!wcp)FHHzq04;@QdpHdk#DBM~rL`4sa?KjAZnG!%eulto3hmh-PrR~= zGbNc%M3tg8-9~+HuUIZt2Xh@%r%2KI4R0$J+9O&oY~{!7qsL3@lj}ofQXEviE1w7Y zubRReG*|V_uwd1=BYRXA58KViuZ`{k0=`;S?eh%R5UPE-*ol<46Ja5s=yBxW4`TN> zL_k7Kn34w#at7Yz$*`!TXp@KzAr5!DosnB44mV|QG^9>1%b>qX@VLp8ysd=n!+hmS z?I!yo=niHccz&p4NT-rLuG` zk2?!FY5K~s!TvUGVbSKPKW&!qG5h4gz(WYVq_-%5uh7Dn6l7Py0Mc=Ur&UPnCZ_y| zx}RzJ)gi?sJM`A16q_VDh3^-%__S*I6Y;^rq+*~=uV~ozK|rY7NL{MsgLW#VQ$vD; z?jpI0Pe?pw%P%BHBs5df3o~2Ikid{qG;4I|H_;!0iBPkx#;{q{94$$^HF6*fjf4I%ac483% zDc{+`#oMs~@t0lGf9~Isbv&!&XB8Wb0!UVatXwsxe3GaXG4CKy%MUjJ9&}u!@6le> z&>{UVPyWTtRdl>Qyd2*a-J~7=a(`jryK`v_sd!U^z0aqL2%9W>UiZpLP0^gu+ODd$ z1d4a#GX34xTGB{OOJ}|*Eos5vvJ!6Kq9FwgCu6IIV;_Dlq!2f@5Ly$SlNTvWk9&&j zTq+kvMW4^rwP_#2`Gb}3y|ZvSkWjFDXDA$g%Qa9t(F=NM+5GZ74|cI*fh!$iJh3Zz z+otZV2U5rjDhi?-jHTN%>$rzc2W={LBG4!h!><{n2(0lR+#Q-E!CEPJv9LvqoHO_e zU)5S52e$7=H)dOi0 z`z&Wk1ad&>E-YP&ez-$%v_{Zyj5-({H(Qf3$nG+6RS9QN!`VS;mJy^8TX|q!}VJnH)>3qo_V{R|bvU;#gB7%BF z4bKpU-82#26)9@ed_zT>`FgHHCtbsZ^TGKPVOtm-&=B;$t>KS2{5MH-fARk~ge?rr Q@b`o6PXqr@gYobB515Atk^lez literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.11-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..e2662feb8168d9c8c3679d25a78bcf24a88ee25e GIT binary patch literal 2315 zcmbuBX&}>&1IE9zA(pG6Q8Jc>BFvThCQB4^FV`H?T(e&}<_Ie}lgbs%l2*TFO&W7E zl!&67g_xn_SB?nf-|zqa|LXrdFP?YL%jfwxqrng}KmZU27IE8du%onBT6+MX!~g({ z0RX^7UJk_*g48eLNulbbAYz0+F-|=&G6IJu;Ugo|H8pfJbTwik3BEzGQISNFuRk#` z6n`m5BP=E|LIffRU;!Wn08BD6LQp%X=!(I9wvpJ~t_Zwx>k&%Mc{x)g6WXY^zbV>A zprZC?uA9i|Hiz7SZ_S?%48WFaO>KEFcTd&<`{=y7&y!#C`nMPT^wc*yn=K8f6w}?L z4M$&owH1r)I#+2)_E2I_a~$&ptDN-XyGKu!aG5!fJ{wCiE)dJKm6m(iKqNfuJmaok z>Mq8y<@6Q&weytG`qdR^D0~EF&$uQ>G~jQXvC3VfFuJf&cY6_#unv+Wz2s~-hD}fx&^@|G66Ftg{PaEg-e|6^|w(73JHSSG$)|>r+J#Q(%90HdO>%?B8 z03W8%*sCtkX%kvW2w3QsYR=AycbL-?nd$SfF~7wFRz|%zE&0OkSnNiMb^`wfN_ls|hIC0MuV6GUrF;x6YF04YVSNeX# zu>o+>ydQr|d;cyqWK2=HHMUfw=9V;6ELpPfM%3}>vVAZJK{ZX3tNXdu-5G3WI%Mro z7bnpfU~G9|bNGUgWaU7V2gHZa*7!{L>`{MdogUd`2JB7q8?kH>0_(JJ{l?sMr~Gn? zR1Px<9~!uPZ)xwGBWdhM4=PS4%?koreaBs!D8gc7sF56<+eh0NlUIMcv?|POY-j}Z z*uFa~kbr4@E;!f~?2kK*H`b;$FwBPXod%S(T#8s+vHh}SHFHs#&J+$6q8q1|%XhY$ zIhHyoy;^5nc_l`3azqhh*(`j7msHcxbl_Tec2IkIqfyb4GfN>C{#~KB6r)AWi?R*;kOhRX#{!BG#ZuLuTMZ=wtqPpcDB`7>Q zI4Rl5v-vztb8FgrV&cJ2unMP2QeM;MdP0@&L>5s>s*41dJpZ@4QjSG*d=h;Hxy2E( z(Um#&TgC7E1N874h+g2k?6&8MXbnbw+nl!n8PT$3p1Na=Y0rE$v%T?ETlU~L!c-|g zO3Y?-b&zfW#k43-nxC+qI{X_%94ShpTrret&GKUwY{?6Lp+_Xkcr@D}Gg^*(f?Xa4 z9ng>BnMQWdlpL>5&dKPqnmd1q4O!DnTo`)a`uZO-j2_BV>$-GK8K(`>J08#li$6;= z-0Fr_676r(DK-cPN+Xyfh!e`SD|{;%%Bm)v@PAD&VxKC8Izam(#`h*p+{8#bk1RJP3>@_!XW?*&zwY+^4gN(R$F;UKX{md7I z)lWX~(qi!uz57+g-Sd9R13nchz4DK1xDkCQO4A;+Vfg@2VK~CUDML>CE6CWcs@~Hb zr}`=9@Vb4_Wvb{H+AQ?tO&3a8D!F4F&0VyWt=bctsGr8S>aW*x8E+}b2)G~Ra52Cs z^q737{XAmUPJbzt4V{hk=58k;`4~~BfK39|V?p$vp&Niw_|KS#5|=te{-NjuJ#E@lZ|UDdWNtFH44+Y?s@UBgw<*8{1bR+?{Ey zhBbLJ`8X-)qsaHlG-GxGXPF_wH0Ru1VF?uLb}|~o(R~)zc)KzXLV(J6&w#7r%cP=F5rZEiyBxmkW}K(*=v<^hmD_7QkWsrz2V(TF z)1xQPpH3C#hPkeOr+9-D{9>1#5WX{yH3#rBM2rL9O^s1FE zYCjJPpEb-?w&8zYds)zvEwJ|{MfmN@;{$uUGe4T1=t4Ok3<+uTkmpXS`OeSA=dGFG z7;2Ii4~7w^V@sppPwR>C_q!4lusm?*g3-_H7h9LV)r%CGH0!BAWZO&kydRP~9)8E5 zSNw(Ic3*+MDpt~~8kyx*!4OV_e(|`Ng0OfTPZbZzahGd+QH+N2K{mD@_l<}_w%z5- zih78pHwniqt3Lw9+dAWEvF*s%#dRa{jeZTz`4sOm{_n@5Cyk)?S-f)ihby6%z*66} z3NyQ+0;|X);o;_euC8l&ovxs@UF3$3gon}t$YCqJ_J3}gE!F(Y)P21jejJ{4=EqoH{&2@8#G=2OH_$PH<+GXam z&_Uas{A-@AOSC`Ro065_`v~lLeLi=0MM^-6aKJxF%}Ju1vak$#OaJ?8+ZEX2)Ej1i zD&I5?sXbq(d5>rw6dmoCk}NfAWqE6(d(~ZEecEwl@R9ADHjTD93!8t`z4$s;sdT|- z0@Y;50)41ZHJySL4S!-+E<-By&sk-O_s5JK`g4?hFPVd~aJ5-uw5bdixueh^>ehQn zTOz67K)RAH{ACW%U1DLEg+DmQBe!bFkacVIeE(r+qgCg2{W1Wh_HhxqnU1T!ckDHk zn21T|O><)A?z(+}uQM7XU|ABX+PtUt&D0RI75 CggyWO literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.11-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..2be23da535cfa41ddcc84e7d2f60268ddf089fd3 GIT binary patch literal 2229 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 PZBYER$KRB{@~`~|PzEdO literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.12-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..5ad4cc3d2d0fcea3ac61d586ae6e24db7346e72a GIT binary patch literal 2313 zcmbu>X&}=N0|)RQAuDIDD3m)fXS23Ba?UYFp(uuJX-mVJ`-k_goK# zmblqPiwn7kmMH*VhM)3-KN6TNkQ>G&5657ff>^SX$5#a5ZPw98Tk%Jkz+5D|vI8E3(p zy>w@gWt&y{;8ydR=-|nXHwNZQC$G9xi6Z?o>egn~GX{RHdO*~FbT%79sc{B}k-I4L zN`*;Pt>f}v#^KlG%Bg9nEbbR}dZElQjoc1;8rM5B<8Um-jczU`)ze7wp>^6^)qCoS zJ>qR$4d44|AZj!uIacyM`c5TBx|n2Wms^_X>%F~?tRxWDDpt%E&U zzTC#avjeI)xNiU-v@3RRM36f}2{Xr*DqbKyd@vRlD5Q*Jmp7>>6WB=`aVo{NtZ$}A zLW`_u2A}!2QS#}JeGZuf3$8G&V06WAgO|+E<@i@YVo}6)(=^1cExEhHh`K4^2=TK> z;bUl($BxWiLA-P=@?w&243C0rAn>>drE6CM znhaZKPCA)~5!CbLFZwYUgP{Jma)ho!mAx+0 zB~BZr(xaeF%%q09FJBQF*V|8?^)JE1q?1jBT_4$fTqeNJZQkIG5=7CjmI;pJnXJB7 zxsK6(PMQWS+zwpkRoQ@*&3JTgXF`dtf|G5hqH1CJ%@&Uia3glEu{E%6-#n+bx#^Xl zu|@dkEw`23cO5plU>GH6y|koNKNn?aW?N$!x6tjhk;;NX(Ei&4+8+2kk^2RHloLf* ztb#bSD!qDBQ74p!yV+*B7qn%o^;vDNKg~zeYJR;cI={@M#27iZbK%42xK~#Hv(Pif za!Nr>%3RvFS*(i>#hZ@t_^3La+#L!fZUdZBI~UhJ8ulBT@R?bLP@Am z^GuoBfWAF%<9Y1iBjd3QdXa#|O_vH)am~`?q3G>UBXFgLV42szuj6wEjawDNcIS@e3@EiSKSPkk)&bmOFftH1L+>_u@N zr!)*cT4MxcMUb;#O440H6q)dg{fx}9G~u~I^6wXjv$@Rbi(M^UEX=|;Ju~rd+n4phwi1aOEOfhA|;B@`VzP=GYMv)wRHtc3X4y*s42r*yfLu8cF; zN=9DrNox_b9&Y4AM&gNYEf%ly-jpS+7mQdG#kb+=MXxiCHlBtMZNA>A_}dv_1{zC6Hln2x~S(i4d!l|7e1DA8qqeH*8R zy?pc3G<2A&cZ~ETF9cYABusNTQW2XWvB1CAm(Iw{TVD4$`y6sB^E^5B65qY3So<}HdeR95r z-|qUM$)KN3?|;7I#R3HflKcAkssrMBVv8?B78>YU!0#}o7Fw- z$ClvJE{$B0%@frZJuym=3VN*~Yr}rk1)(Xl8)y3KhthN426NCZaZV=bW02h z1MNnc6Suk6xfsXG=TY3FK>|&%RWCv-zj71&HE(3hyW@%-sW5N$HKAM^QO@Er%*S}U zjT=T2G$#$R#Mp^gcIBtYK9~#{gl7*&XT3Of@Q}LUgw(JNr^d2;EJa5b8`LI$wfph< zJB!USTb?~;xMZ*XhTgM?VQq6%|KxY5lyl~foahZX!!eSs)4!XyyXP(6o~%_3lEmwV zeO=WoqEXK9XtoO)WnA-{+T{jbz8JkkCW*;L|1g={nLxD|9$TBgZ~j#NwDB0vKIX9F z6+fP1@Gxn=7qGYH;50n)zbW!ZBmd1kj(_L>fr-5}H_yKx9Dhpqvq^uz0|5U3vh_>Y literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.12-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..dfdd1f53e65eafab2374f761c92bfce9e62e72f8 GIT binary patch literal 2227 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.14-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..97e302bcc316eb188c735114c568b983c981b07d GIT binary patch literal 2314 zcmbu>X&}=N0|)RQb4Dd0`7;vAF~{6uG)7Fdh>_+T8ZyUn&Y3fJMvh2w6>^(%Y=Ld)2XrMOUEDgd*h_Lz_BS7BCrcJJnb5%JA4tWPaB!3 z*4(DuW~t-!&UJxt;mt;v@n>PQZJods-!$_2`;D}*gEdDD2&1nPu2mEZI||>s>hR^I zVO{ghl@d77MzXpn%m30h&@?Z%qo@C<0Ezx?pOI1x1G1{JhHh%+Z?pPL_)7 z0?+ory9<0%VRv_}_w?FKtPu9Q#&2kEJU#(n`fQVU&%;ax_)ztB?a>_W!D)h1|392x z)Y0hR+sO{`D|gMkEU5ACLR(iMF^3gq3v7{5aWEmJB!l0omR(!aZFj(7s`VUq>R#2W za9g7B#!vFn?w@GJp6%$oh9odM&K>b^LhMvE$W>=mmPN*r9tVvnOB=S0yDlY}Uwgh6jW~d5Vpx+%6R6&_`hCD`LR9Bp!mD@?`9Sh~4GJ^MaRCn=MUlUa9AdXRNz)9B0+B zjDC!N$y~dlCN;TKzNwf*%`%H1TQM6y^{@w3dLHQsHpla~tX{hWd=EHK zoh|RX$NNCmy0mS%<537DqCUVe&;SK$gF^i?CutZ^j`&E#cXnk={99k$oG1`+)uyd1 zu%kVeJ4D#Xa3aH8cP6Hfaf9!z@MIu!Lxc0OgqutWsA)mqd+JQEYgB9oRNv~mCWn$v z1fhm4i9Nie><3cY87i8nGt9y@BFO+G`+P;4#NDwM|WQ|vE z45Fy<)cWz}!Q#myPSAw~G1Kl1)TPU6Mz0&}$EH3h(}L91sVO3VW*1}i&-PEnLF%X% zwce;y1$ZGIZ>b;3ohsP;wp}B3dM!jJReh1(6xm9hg?=U=QwQ%QK8vnTC2l}G(R9yk zQ1)(LxERT7{8%l7Sm4a(;jX9UD5LG?*r>M@7J44GFF2x*k0~aO^W-TIg=5D_`{JS+?rMyOf+kZEmIGJG)pi;W6b zO?RB8Ps^>rtoj}0=TfDVM+8J9vGA}lPsR+}F_q2}YZJ8{9IIuz*ZSvoNP2medxm3bnHzDyn&8$aV*Ig{zu0ZfzE&TWZfs#m5*m|Gvbo61J>0CZ5Q>{VtGL6 zf&YcT$?D3xJ1)U< zH0>Y?II8=33onm_+GbFE0Qk}T0Jt>v zLWDM$-?J()mpV4N9^o#Q@Ql5X8s1=Q2`N2s-%^T(pTaqXax z;?Id}6}QTjTVFbR%vFX=PQvXLYUV)NVh7cJKhZjn zBj#QGPO3EP8+%b^nP~YmSG+~txwfIJB?+GNua=EQGYh-6bggVf0!4; z_W4Ome3d$>$DN0hmMP$y`SKysd@r+nMFeCF&&+C1JO5_INHYx9-(pq1QiQjj@D-dz zOlj~68+O`PixRicU)x}H`q8txyTjBYM&JuJ19HAInX@HLZaso?dtW+~M2^TWyvcJ9 z#t~bScx|G9Gf8Tik?W+w-~9sq*qZ)N>6wfDJr=J<_q){At%l@rWEUCFY3_Fmj&*ef zS_8!=s^=)dXZK0G50zf-`IfMuPK0Od_)Kvj+VrY(=-ng!rG;EF6D!=DXP2IY&Aa>b z7Po)U*vJ-QX+A|N7k3?GWvA^&DR6u;Q0t|G?2{zqPn~NZhP*8Xa+y~R5{4hhf(o^7 zU$663m#p=+vMZ=S^~C$+wt-@gA!XG*U!8aUEZVy8bMgDT+zlmh|cm5xlppfhw|9-Iit;gSe@K-zl@E@CM BQR4sr literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.14-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..2e34eb0ec10aa8a22d61acc40d6f4c5eb902fbe2 GIT binary patch literal 2227 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 Ms~*3oME`sJ2e7Xy*#H0l literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.16-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..ef8aaaa225d0404d3cb3f9797e74ee5819639a49 GIT binary patch literal 2313 zcmbuBX&}>$1IK?Op&pYnp)rYA=FHJB4Kw6%%@LF2oMW@$5joZ#S1VVPBj*gEv^jHZ ziIQBEVvd}J58t}_vdVseo3P7 zLEMgw=R&P1s|h>LK*hK!JSs`G$>giB)r;;PRnPBwoO-C=92Mi^?eQ2bA>GqT4z7HD z(M9h*9vu>io*2Dd;w9pmT-A113vrd64tEMXVno_M(nIN%1&Z#gVq+GSoU)xekUY0e zYC4s7EM4a~x9e`*c!hh*v)_`7+LN902jA`d`72a3)x=P6CND;yd~`_RgEDv=?M)m| z-sKsWp?wRO|7VR#G89hVq(w!18yY~t+wUfgp*tcNRh?8Dzaokt9O`&KRtHxwgc%G~ za0K}?CJ|SU&ZUvaH|ah(s-*wGD5ul>Hp-E`a1 zd@(#&e5{{PZ~-c0vh$opVlHu@^N5Cw+~(yw)k_gK%i1LuuW4axEa@{JZN3Ov4u5@s zaljeng~;>Mj#L)5Sf;>cx>yFqcpYv+Rn#}TW-YPR`}yR!!n}L26ebwCI8!n1tGZX- z7uMuRQBBSM7+;a)Yd-oB$Pz%R)MANBdW-4TcOcThv6LAnXkC-Zj=896YR&*3>jfPG zn?EOhzN|6c_ME|VrK9VaJEC0z8|NI_h+eptY4xXsQt2Sb^o7`Cea|!#Z;KS;l9W@5 z%3o%jMa6O>0gDWV03P*7D8RtPZ>iZ-_Rp5nv34D=jP}$do=%#UhBkyJUTy_ z5oBh(E$r@bDU9KZyt+=SkuQ4)=2-WNJz^@};N~nD^tRE(_j<@K>#~KFmn*SFVJ-P5 z3p&~%Ix1(IT$7frmIWIakYn1}{t|>>K`M|QSw05Ybtw4@+hEFrhh~LV`JRKF_JWsb* zAhnx0Als}ULOdTsGJ1rP4D+!7&#|J=qYwzY_<-8C`GuC@6O;Mtmsl}1!H9?LdzXTUGyFYpr)K2t+P;G0$ zG<_(Az9X9n{sya?@NeDin+wT}OVnZ^TE3AnQ!S>^go(*ar z_(_%f5hT5W?-m`C@;M?hLOK2V-PH`h@26DRrN$_w_3(dhP{x5IY5L=IKJE zBXjn(bvixIbHCOqW?JNp@LBaXl2>Co-{im1!Cmol>l|0*4evTEDb=tP(7j+18^84x z535(>J${ei`r^2)N|r-%3CMXxyuOU~US_W`umtb+-F@Aprq@r;eL3w%F%^M$H^!oy zUy;_hCC|Ql)fW1B*l@c<=E9o|SPZTpW&5(6gFi*D8ZQ-b@udt?J_kUNFJFl4-;axe z%Dm8>^+lf8MUyzmygNnC_*`X+yfui6S3P#JN z{v;~nWBj+PIqL=-KvF2Twp(A5S)`ttRT#|?H!mA`mp#XyEnOnI5n45MuJ47Gxx`h~ zc*WhrkiE9vS-lNl4M~ZtM%@dFQ+YDk7ksX0YX)}R{KiN?r-cb#F(Y5%3D5ED#cj59 z@+=Hd$3X68rx!d?hnM^{TzzNFQ}a>|Q*Vk%0Mqqd4aWoPQLZ|XY=7f2LzphK$7&&2 z-rvI~K_Pm}UM|!-v)Gh>EEMENiVqM=lr?p39cDsRZ9jXDuO^8)#lC$`sFd);T(N8T zscK2Zuntbr+d3W}sMy>9C8^zZi&eeneiWvl?cPR%UPP70m-|i7(mEE?>%tb^-A6Yz zmv<0yNq#>fs`U3H-)xTbY*W3a-3?+5!eVRTSFH-|x-m`{rQ~Sg$jZ)HU3T)jF3GKg zVhxqZc{h8xsv~UzNRjMaTdDz@TxYdnw87C5)=U%+MekhFuwW-rT~=OWHQ1B>)hWkj z1fJ`@;_q~~AiU?SBc43?V1{-x7G^YgYX$8k-Qc11yrh?+tNk-=1GY46#-#oL@;Se_RU zUDRexG0o9GXKp;Uvj*`Xe_z@EQjy;_^50NE|Kk4<6FY0Z!~br8emC$pZ~hh@0Qe8; C;Y!H> literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.16-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..f6da920ae11c28ba259d3fb0d86b288d4450560a GIT binary patch literal 2227 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.17-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..8dd324239faeb6f69c9bd8f913294a6444567e43 GIT binary patch literal 2225 zcmbuBXFL=R1IG`SvlC9TGBUEW_c$Yaud;&K_mV zlM9RpMKA&{06YMI6aYZy@ng8ssS>hkdZJy6wQK+pAl5CImSxYYE78PEP~{{djcKb| zkFuQ^&3eqUCwDrxxF&hFTXjv=d0cKabD1J@I<}UnITI%oZ&lgD{!WN`Wt#4J(t(xN zMx$YKyCWG5NpKaxR%Th{U8uEDiyNGmFX?N_0*)I)68xYZO(tO8VSIS-%YI82wbI~t zY_!SZd}gK3CD%vw1bRg+-|8GWr$8nhPIrtC;vDKN!JSNPk@&d30XjkqZl3BtHWir*1RB9D-e0dD*S z1C-)Neoms!@=`|$z5+2@h^-QpeT+y@oui*Y=6bee3k!k6V&T=|k0i0^vUZa5v1!Fs z&o#qgrUXen&6vJlvgFCdOy&ALO*#9VL%vp=eS>ds@4pO?Nd^e= z>0K)+R%>CFv$M`UO-Pf_n=$PJgLYCXGj1hJTBN}uoCx2wy^U@HUsqDB{md2S{&tIE zqs>mccHYb-VD;Sx77PqFXp_c-h>g77+e|KZt6C8y=U%2Et2^O7+SauIzA_N)M-Vt+ z)W#1#P0C;ggZDl99kdlz>Wd7HLn}w;UFYfJANF?^`^pOKjybmYRLA_6=F3Fx72qQ6 zeotY&Hl|)dbi(lDPhl}RR?)rk>?dQ(bocYSdQL{6Rv{q>Gq%_%GHpQZGMh<)4s23NgIP-l_>N$(0A50K?kjhWk!uQs&Tq~N4eD<1kW7hJyI8? z$kLhi9*HgY&(x7sB|I5L@++c`oc2h(FMbpMeJ({LNk5P$eX(h}wz>g~*HSh?UrPCD{6G4h~67FYk?89+yIgM`R3WD*Fud;Q4JYa(V^M9g`S;c zKy_<5{JcaU4fQaNmA#`2O0T)H4G@}iHBU4xS%r8MgZ(j!m+X@?GS3G0)9k6i8jilr z?Sbu#nbZa)9A zr#(T0=?H2C8!j-LJ3LK)0RmsI=ij(n(e~i;Ad}I8$ucF=JDGnb@doSWgY2El7Sn_; zK|4)9tw-M(Z<@osPy_L0oK~2zwT*RxBB)3$ikwcYtd`Lxz8N`$D|^t}=n-OrN``=G z_!j9x?jp*2laaj8QsZ zp==^s!b}pEjFj~Ndt*@Z1-r|j1&+eFdsqV1Ped)9S?JzT2 zzdsx!9lPce^`IgLTfV8=e`rIItf#E;p=eYDJ7(MD{FEo zTcK1K2wJ}!;zX+%xWIAhKpp(FtX)i9`33J1!URW1!B6V;N|`KX$amHBdn@_*=O?|a zKIIbRWWOVbX+9R3bW4?FVMEh7LVX7xEd4DX|M=b+hNxe~tFW>7%%Bvm`~;DpfLC~$ zCy3^+VQjo>tdz={QWZc=ei9c)Z-II@)C=su9sJH0KzA1iIcAwL6?ncU7eNNy1&cl9 zXa+p_fn;;){;lB&``I#^d!?=sBrfyh4VH%|88nQ9c}wvM@J;9f_WYtImn`i%+DLV*())=PCF&N^a#GEYn301M%vwIp~=_j?=?k zykFF&>FTDJ1MFg5O~H=_;6FqJ+0k{o$J`ZUaN$?;q3G-|f3&&$tlbF7X4mzcM1r{+ zay%mCj?4}Mf-Wf<8V#s9Oo<$qRyv`ot_5~rPFp}Uacine&;l9XBy6Qj@%ry`eO@*r zT`%O$s6#}`BZ;mMl^MNZ!*jAC_r9$K4XqyC|5k=S*6`n?(EP>!BM`P07wG?f(EMrO KAKqa2yZ!^LyB$LS literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.2-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..9cb1b58137fc977f2a170645808ed11bb2a3feaf GIT binary patch literal 2312 zcmbu>X&}=N0|)TmF!wc6gp}LJRzyQ4axb~B#N3*kGuQZ|9ASFS8xt6C0Dx!!&`3z|R60}&C>j}PQs>Hj=Zlr<5RFSQ7edL9Ia*bqZ2`IrMGgC@ z)@+8IMyZ2a?d$x5g5MiZdP{;fcD4Kl0cp+abKlYi4(LuQ3VXD6ZDe5_>Ll{FF=nOu zdTo>Ca;bKNt$0;oit$5mnaLGG*90PmN={+w)76e}b9Er=of7JKjq`p^yJ2%B|M1U3 z5llJEQcw%*%Sz0*r4TmGADoBVE#lNeG}i({TzUu22*gzAB&lebpt+NhAw+pcmYI~v zf5PSN?XKG@*s#Zm2%F|Y3zVr#?R=}q*a}5cRbG-Eg1HAKS-(U%zPucpZoEoSl^nZl zP%VJx?71sz?-1SFcGhctyFTgOH;vPNrLSYGD<@RlPZAj5*@TNWjTdZTl=Na3{bXs{ zLhLAjSG}oZS{GTWrL-}v}<4hLF9ONHcL@s;M`RGf-yEQt4 zI`S%eY zA5F(UlO;-}CFa^}eSR_VU6v{Mby+~%c2w@dQv)H4AD8dw;yT z{V-d8e%nJ@HWhlU#TMH`G1P9gJ6py#&+AUg9B;H=HW?-C)$!ZB)crb>^kxx}e3na* z%h$l!eM2Yx>bV^ED$d_o8QII6J-NNi4c51&1T{ob>Z%^BNVa*XS!!8CHz4IhmjEyHp}m0K}KaEE}#* zITe9dIcIrBdJH5aO(Ardo#2hEW_`!-)cNa(m=?zcX=;P*M}{x~N8O->J9Gv!;E#ftE)Y#=W|9JiKkq z>1Ar4*Q&Q(&}gWsIZtPC9h#~Q`PCq-tGd=}e2X}2^E_yMm?)H0`sL)!#7l40oh^GQ zURqsIN^7LYGmZQ87B7<%j_(}PlAz7;cMpSP)? z&Z^^!o@FvzjgD1=hP@II-IA=Be3oEK8MhX@(o657&QzU8Bg&P2Z6-avGB zYbX@5#6N=l%&Y_qf{bQ#-;{e0 zKe`j=In?MhS+~kZXY(Xo;9do|yP)4Pgx$#bBRm|5AdDaJ)}x>f3zfK)rkjUa(gcIs zauYD#vgq4m>nsjkN zB}RWJREvcQy&-LJLX`ZiM2t^ufKDfiC(@$C>PJcJJCV=#%|zY7tXio7Tyl-QH&^V) z+HRp~+87Nn_K)}nEZShR`-jPDnD7##H^CUD3*|0S7G_YfKdIE2+n)U%P17J@7z?s1 zCw%ynylm7H(Jr>`7f$d+F7<`)EYYXIWf^RV4m^Uj1w5|!48w|fHwX{YTdTQO;94<8 z^Dmuf-O}LL9mkeWs*TdbaNt*`$?CwS%O3anC_TcX$m^PKkUvfqF8Qk)36>e1c`t?E zsA>^76Dc%knyn_>RVgp6&Vn$n$3bf|pa|a0m&`Ke*IF=pa?})$uyYaV^^{-C>(Pf7 zJER@?m&V*e5fAha%&rzf0+GVbJ_EHAefFP|LRTe4aIu+w=3`B@k`WM@$Is|l`rh;TVU@Z4tl4`;lA8nTEOYm_W~c51(&~9%00^dl#Bpy-=MB&ZTiGR~ z|38)qJ>>%<)>-@QciV5McI6FU>=R2jifB4=?sRAg;UM8(E5=TAjH}IZhMTqP!7dZL zqa@UCQLDvo*tI|V=~YKOxT~?DS@;EKqnq7#%#O;VgI3E%^u?DF<$1@St}>+0w(}MH xbdUwlodl4|08=!GL6h-+OXM#`{+npfzw`gN#1su?{`Uj)w_blY;jec9;6F%#KOO)8 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.2-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..715bd5314cc5f77eb960a6b96e242aa243cb9a7a GIT binary patch literal 2227 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 Qe?Ay~*Y`JJY=72&0M@+`Pyhe` literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.3-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..5f77b12b1cffd8c4137787f1b1fc63e9c0355386 GIT binary patch literal 2310 zcmbuBX&}=N1IK@unp=lxawMZ+D%WIe<<8v4%uOt3CdbH8DubjlBK+_PQH1DNzkuk# zkWeCCJ1m9}DFPA(d;ow1046tY2J3F=ULsG7bRs262O>kEeTwPX&JdJ3RjkM0K<_0B zK{D-U4p!vcQ=6R8bq4R?sN5P2Wyz6q_h>z6ed!LJ_ipvh$nO<@1Ni0(hN)p?I%@aI z4?90@vsr7W>&J(t$vBm!%51w_;aUeo;>*8JlsuJ8IN9$i9i3>$YI&kdh;xUvkn-^tlRr; zY5MM+%brO|(zwRw;o$C~cJ=uymAC4mg;s>Q$4xd-elMVpBeLE5p6_FLR4k-VLvA1> zWi{s_2xxX*zUeMjFMNQdZnpJFx^;Qt1BGa9HIR^e{mIUePZrIhn7uag2EV;@889(J z&|u#YcfqTkH8pg+dSJ{>)U?+l8dOF`a z&$mDiIcCK;KjMBeVa9Z5!YF9UVw{H;N&jcc(5c(#9F85auAblBu1T&HiS zt5O@dnBAT^nVVopk+9tCUrtQ%G?-G1pgX>MTw5IXYDnE7t~6JuTCb^XheETFui-K$7%~mV7F9}d zn%B?ZYi_P}~hw+>Ve45W(f{&08~;(0NW>RJe(kiC*_r>F7Y zp5_L+Q;AeZ4vm)XcG=K%C?s||n54?!OD7kAA5jLvZMWC5OiKlZ>{~_B#S5h?O9Nq3 zvuW3o^sa}!ts+V(|I8RViggjv4&Moa6!ii$WSqA-L zqvPsUq-P7l66!)x`&|`M9O^xfTWVHyxCJ$O7exFrD}+scb4i3Pcy{cM2mJo0FZN`%$C8+SV#^)gwQTGm_(%xXM6^ zJ7gB6KK(?Z69S={7DkVgz7&Gp(T}pKa#u*)$o|H94qoSkzP&+~on>j?=~15_9&C4K zr2|X`0R;AUlTdJ+5KFrN8lE9qZ}d`DmZE2$Df?YKvqDPCm0)Q2JBpFfy0v#JjLx1B zykGWy6cm+U&OVScwZwm2*)1l-cN`)}m0u~A1}umrfc2Ll{d}GB66Z3BrJ16{DB_5Z zzf$vZ4dwEl9cK6|o^5DBu7ecfQY5f@IpaZI{vc{*)OHanZ*2i=A>SC2$Y~#JG1GME& zhqA#Y`!Y0~;+LbM)D*(M^1*kSDOfG>0#-HIUB=7ZgC!Q8G*~PK9s7Mx0-WEQBvwXB~%#0P3M|>#;=CA~}?Uddgh;?#w(K-^PuZ?b*9?p2=3~yvi zls6(@x@}xN_a>!E2``$iheWo)D}CXZKrUP_NJC0wzP##v$0XYQ;yT{DX{pU*Vbl1tbl@VUTf{Hm zXhv5)Od;xtF?At!m^&`;={>HxO2XFC^h*C{*Qx%+)S4mjJnBV-cj^zmR?S&?w2>2? zR1f3p=EqX}EfpV3Di=f9*j8zKgqH{GWf|VSRZBc6~6?w4nOFVxcMR~9pI zkb$e1ve+bfS`*KuME`zM1~Ir>?@|zEAhn@G$lG@XfYK;i9%=;J;=+R z`M@1aTYDSuWHR`pE{h|Hs;F@N)qA^dbnE1-n$?_};lmvb^>**87mnB3%V(8eK7~AA zW$zn~^H?*aOIwYLSDSklTHZYGiJ?rN-+On|Pk^E{Ke77fv|#aXA@eC5{;3J^yY9{At)9-uPoX0Pr8EJwOxy literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.3-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..2d2987251536883427ee5cf85f167f5efcad8357 GIT binary patch literal 2225 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 R9KSnQeyztZ!nuB@e*t$>9*6({ literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.5-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..4b35a9beb279661f4174535aba9bbe20d23420ec GIT binary patch literal 2306 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 I!u`Ab2bMM`TmS$7 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.6-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..596f29325d18504681af98771c62791d72b2a548 GIT binary patch literal 2302 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.6-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..ba7c4af9fbef48d541a0f499890dce36aa0ff298 GIT binary patch literal 2216 zcmbuBX*?5-1IFiA3@dl8$}vI= zQADAT`z)gJtN;7|tN-)7cs|dY=k4>gv0!621h4{50=}Y-94hoNwL=^LfU!CNpa%c| zPy~Mr7U!YtkM+eU`+AV@ZlpkEcLE-T^~DnK%4#YaDw--j1RT;M;2weGi*zHoW3YZ6 zDqcPWJcu0#Z~*|q0Ra8jSTyt}lvq4E^jsI5*MrBNZ?X(s7kCyw$oQI4rW!U|{w|GQ>(^d z@0rxZf9$-wSTyfb1s+hhuNmn*V(tqy78;y?RhEU$Nk}+^l#m!KCM{|3l$NmYy4M|W zHIDMkWlpf(jVwD^wgwlSp@z-pG1`^Cz>4+Pp6v6DApDE4#k&k$xO+_Ha)B+8>B1|3 zFR*f?%~!UX6f{=}Ko03RAO0({ROzw;D2yVDqrlQEK@?#nK zclN&%NH*Qhm(A;&Hnda=6-MXiH$PDdQnMN{$RNR)Jx+4Zk`4mI+RlG*)mO~4X7Y7{ z>f5b8FUi&nO;tf{uvf6hS%1?QCd~v)}rh0Kx+glNrgRoe6KLkt<$DkdYnVGS`_g1x$ z?snv&BlWB}Atu%w{YW6shRIp5(SoM92aK3m~pG8 zJI|1jh|*e2?EEsgbgybczZom{6shs^%kg*Cu-5cgw~nrhnjHs7y$bro5|{mEKhku5 zh2C}?+R~T6U!=#$RO)rv+OU3u<8F&e+#M&K^BendRzpz}362F7oUuz^g%SMH>FFEy zTzjB-Rqu3>tnz}l{Rl!Ta=jQVgqP6ilPvh&6P)qAoN1|EW9YTiL;0X8;+{Sdgc zr?B6H8~%5XhSUS=wU_sVHj0SE19DpTyr{?fsRgQm5?&42~&- zTgs$506j{-tCUUzpKi3mro*Px{Cgm&n*sSQITBQJ1-OKjfWCS=x&}l6Tj*pv>H5EL zi(n%cBph^5kS%pNtpQZzXq!Sr(j*Z8wk!HIys57O< z1-$ggK5~B#jdo^Ly+M8zl4{he>zcpkv-Er7-7BJid#vpal)dF-sTSn(}Xeshiyl+%#*+n zX$zS9WH%+1_bEq7;X+j|1%l*SpaPy+`##}jkC!Yb4R7-wK-m}ofFe&;( zudpsDMBUu!Vq1pPB!N3{hKI26%K8dF59#?b%e*8+J`H6p5Z~}GyD0H>`{cP`mjst;} zT)ch2uRG7c;49@m0lG4du6^*-y2fndkx~J(r)E?K$vPe4 zO7{!LwM-F2LlRBeEp4Er+eDP%WJcK66uq=8?oX7|+>Rp5o-~h;=V9dUtgNh2*LNtX zYu%0L+k4Il=wpuSIsh9B7FI*H|4j;iVBx#CY08jkgVEJROKdHd^xBUxu C3Ko+9 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.7-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..c26b8a51b03ca4481e6177bf89972b7062e34980 GIT binary patch literal 2294 zcmbu>X&@7f0|xMI=8DNe=8P%5j+tDO`-pUG$?YYJIp*5Ru^bBvku%3sB1a-Ja^~9K z6(tMdm7|=)5W?G*TyO9H`~TDbc|JVfp3gt)D_me>00=rR71nVAz z!~2rF)ck^p1b#3#;06E?0{|E%Ci-aZYu+vz9%$5uB(-%WGiztnL#ZSXsNRdf)xQEz0)ggH9bh+5rFf3rHho<6X*a#IKK^DW&>w=mx5 zD2ju|E>)S=G}Gz6yp}b70<9SQy+yaCr#b92(u^_KOn1O?lJ4$<) zQHrPCGRJiT$IB*{;C%(heu^V0oZ%C5CVxL`-9JNalvTJWr<3JuW82o5T*e}aAK^Rp zSAR{3yb!D*-mN(toVEB++K`)O$K$&@{CERXyd3o6bT-8@)zjgiS$X+FLT|v~y7CM2 z?1J1!UR?yux9P`MT%~jB*iVqXs>BT^l731x3)dWrz8$Zv12b;tb(kmkLz5dedz0Sa zyU7-!O7Xn~LbAN%TtGpY`y&C?F8bwD}OZ?HK?R4esAc3)OGunb-cFLq36S(lVFN*2bPw1M~aMnSGs zn0rOlB3UO_u@h#E&Y^s>uS$;2?hDomo42a94+=!)cX)rlkNKL4P&jQbB(v#ENKDq z2~2~6xGS4D9X-&C-?K8kjTJVX#vsmnCb`YHseQ~+Is6Z-t6jI;7IVNWpM9)_6VVgv zhB~)`jGui_q`Ot#_wE=%!ecNBBLU`j1x5!b@def->*Q=Ds=yypp(aM{dHM|mDMo1+ ze`CV8*Ce)spKP4TAx(%8e$F(EMh zc;>>afX|4cJ}qy-RMFFK07}ysd{b^oB|+rXqURtXg6ORM3i}WNT-eFiGcS0Y8e?rL zv=Rt1_wSV5e46n7o!dnrWyc^f43X<*n-%GwS2Jc?fxK3$y3NzUf6R08UMXG|I_Xd+%3Ztjif5hDs zN`(;XizRaWcLc-;big#&w@W_*T0i?YR*s-pKZkJFpZ9T+N1&B_nKsSJ z{NM~l%edqTqW~DvI$$bwOz+ROJ58akFa0bT;_S8$CTF!``AI;lAkOym5X41zF>Z+u zc}3y;KAx0y7AZejENu0>N%8(EE+@M{@U6e(Mg=KrIX9P?lNS_evOUV}?7Q$JrCQ3D ze)=;V?*^{a@>;dM_Cgfj@_9jQSo$IM$17lAle8S$8mU^MLBuy*S9p-P`^0BFcUEbd zA`j(t8W$lUJHd6rZvui*Q6uITEM(x8`AT-~JpJP%W1l>0;h1o_h75gEKt*DEp>)5K+R%`mzO0O)z0wr-Y>7F{4A~hnJ7igjP#=Vh$-XFeM<>m0 zGErtON6;N%ow{5wP7at{S^qU9Mxb~h4rsx^7WGj;&QLV;9!qJaZhT5#(L=n*om)CL zTV6vv`s!YNOgCycV5ZAuI6YE#W^hyLv3BRsQ0prEaZAa5UB3r*nAi6`M4ZF80=a74 z==jJQFXyqPxe1Zk>?-#dKV{tC_dSd&xbADH7bi~L4k=k`Ype0HE+Pbdtr20n;%)J< z&_L^8eQwq0pc1@mPY>XB7(9-p4_U>?{i3=&9wk=rSGywh8u6cBZ6|QW(sP=AeWakm zd5%D1WB|-?>xeD3d`cppzAnVXpGe-fGU}dAiB7DwuA5*q3&BTUSD*@JP8gH>B#NZd zd#dcp6emJ!C_iEb1m$mc{v^>u)kW~mv`pMR1mW#E^Zt`v;n-G0_fVentPVB{xAP@J z##AlF8AU+c8S@u#uyT_CBx0L6HX2g?%%{d*I2|66`RVHq=1^w(st>X#5B_T_w$0yq6?c$B#HBDWUC5WlQuFEnsk4@%nKI))a#fl!?D^uDP z=}i~lu~jI#6i74UcC&XMdYNCgxEQ=~GYOH?iq)Av0@z1qd?c`rq#O gO^^R32Kev%KMJwF!p-yV2k>|OelO{_ZUBIP0OR*NJ^%m! literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.7-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..38d4058f852fe3809b355ca6d3f48e24b38a3b67 GIT binary patch literal 2208 zcmbuBX*?4S1II_0`#$FCpOA9ReG|)?IhVv-Eschl`^;73zK_2gG3TaSL&qOQhX15S z2!*+eWzTfD>r*%e(@+0ZE6n$KDb2Se5&>a4PodM!g|HEpiy^z zA#8;$vSo?z%DkepK}hMi%`Zd{4nB8B+{Fx*K#Bu+?yP#^vaOK6Z#Wtt;?27#2XWpo2;kh5|u>)WAT{xI~1l7NVNr%8^i9i8A3~LDr!S{ch zWmOrR-5N{azg{3!wZ$x1*F1Hpp3lo`1$ny;tiG-1ujp6eVnv&#uofm5+=`xa&@rAg zBfV6pZE_BCjI0^HpTB;(G>ft0v6WX~$6Z;n){=c&&tM-%Sk5L?i%1#v{LJXd&=k#q zQoqCf$4EC@Q${m?*+BiZc-Ex9WXew}#be+)Kx~>U5eJ^)XLQkBb7E|v*)JE);bYwd ztNCg$5jxwmvQO8v7MX*rWWSXh$+7bX)8JvE{t*5)pB2%`W{m z{!9yZ2hxO-F@U&G* z*6=T!^{C{WYOX!@_~Ur@eMJ{L-znO2;SpZCOi{OoJ+$zqDsE3svQIJ%uypJy_-m|B zVI=ycL<)GtioU?HTF0|r^a3Qc4&T(;P71riasnJ1-FdM28Gkb#L|Cjp2`CyrFo26P zO5TqqWb!;6gtTTN1O;&8A zoAS5PJ7d`Uy1fIlfE2jbxm6@UG+rk&xHLeqj%|664?s|{O@`eY5|=l&?S{r`EMmOr z&QCI|HkP*cjMsAh5pZ;$ZY(S@QT8#NU(GPrcL0Tf+ao~K%RjpkiH)Wpag8Kuym3Qc zWbaa##lk9=67}6ih1+}X8JY6_Qfdd(J3#E=fL=H_Yl4*bIvKPFG-&L7$q`st)SG4M z2u!(GZ1wk43{Ra z6xYPpLKkPEc6Ph$bH)W=j9$-;>z~$J=+h%5o6iQM>2TRx=^f59yBGM&Pe0LhPPf+5-uz_=lwYt*G=9;M4qg`8bL-6R!kk&Qfbg2aHggKe}-xlThM&d0e`GjSKrW%oI?qtFAIVRyF zh#Gsk6cVA{lGpB%W>#2D98NE+ecZb7gujRCO3-}Z_F+{>UmZ_P3H#2tznSQskRZB<%*Lhf~gxuY#1vD5@M0N+gX6WB=7$q zdW~>wjpU4sy81TBGN_w->)w1Wdk*Ty?Gje{LXmXfP}AMEri1Xa763KJ# zT4{Q4jgow$qUtj=NBeT0od2O=vc)B=ONXe7Gofgdt8=Aovk3QC2v+M|qX`)%|cQ6PI*M zxT55W5vVfsp*AO{O6+jB>CQc2W>t$=lM4T8NpBhUifM1>1@Uw2B2XLWtlb9D40hZ3 zMT-|fP3m4$rhEerO?_OX{M0>hGO$Knq`=q+QaakKC%g_FL9U$lWk|xCP}GvWWh;dI zl4#LCRP5C+B07tt$9N-71G2IDwr9lqcQ|ggnTaJvVdY*4VJUl--W?9x<@Bg@au?IK z(EnbpIrURUPAFgsIa(+Z%e{GWgzH>M;TGT~!IjIjK}fbjci#xF)vr7GL-v(LQ4a|D zv!X~wl4-PSB)DhnUn|Y=FlIi;%%JM90pTC~nEW-(GM*#E5m04jqIPXGV_ literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.8-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..4ca8bd08e8f5b43512bf2162245684b6bcc421b5 GIT binary patch literal 2300 zcmbu>X&@7f0|xNPu&IzMb2D-^L{q$)99uOrdlRWJb7dMkSdQk(7Rg){qiB>P*IcEd z%oUNNoJ)>!m7`Zk&ieQMzyCk|pXbB#?fLw}*$V@$0DAxufGm>tC5HIJLVRgK1X?)En;hgr3?Y((V8(_=4dI5tWD?#tj6$Y`;0ZKu zf8teN!+>CN5Ev)|a0dWl0Duz-371WGOsRSAd!GKa|9)E#QM*x<#XhTu(BbW^HWqTFA)gn;S3g<6W$)2XB)Xk4CrSxon^)!QRw7#@C&SfEf zNBwlb&sNx0Jv}$`$cEvnS(y`o9i%Wsm z?gWMN>c+W}oS3=?UfMwR2lVN6kp~oUdo5;QZI;*msFi^@*GV1j^_QVxOCY|?X1&~} z9-zdq{0L_yN4g1n&@rp8eg>9{%d@>T?T)eww4*~+T#JymG1)E>qFaI>EjlH*coE7T z|9fXHZ>^;0#hcNE=T6aWBjyk*>OS9t|1bg_UOe#hebTs^~%&{8Ag=R_~E-7&8Upg;%j9gSBP^YBdyN9Q&M z8iBm~@5zJAy4EJF3RlBe38DjP__-Nw-ps@bg+BZzAsbCah&0C%6K=>X---{3EPy~q zv(mE8H=^c6i9DCmerZtXleeuli(S6tBEY(Ng!Ac~R|N^& zvexZ@sBHPvC&@Ey2G3H~XDW$fGe~v$RFu((!biGVxb}5Tn|SzNAd%{Y`B!Lz|!R9)C?p|AMuhyQ|S&{rTRnMEy|ZoCW&uyvVWWTkj8V zbe>hbX(6bO_q!kSELU8;1<~Ok`DxkTUCBjFD^B9D6ix3?Lmgy3ODOa=JjU8SqG-Rb zc3PcAyq0OV5$sicnI5x>x%yAc;cfe^>#EK>OBy5!WYeM@;pA)^!{;S?C}FK0Ul*Nz z-8u>UxG%LOLFBUYlx`rHT#`fX#!DVa-?Z*%Vns6h6Pa1iDiO`26NkM9~Cp zZ$9f$jp>z@%u-a`%_LqVOiGEKY5)8H7?(ka*r;)~u9J;it%{8_h7JFGIXgzBRecWP=M zI+@9WRK_0YJJ$}oF0Y$*T=|=;H4KNpnqNLfT*H=_n_(vM`j8WTIv z@G*of`Te28@?O3>LXmPqt(}o6DW}9pp*hXq0e6)2Nxj81)9TDk!o+Nq2YS~U!`6SM zWB{qDKjW$-zFt|?4paH1_!g)G|Bx86{<$EkIoO1&ly1%IJ_h%))7_Q+A=7AUEA1DM&DjR%c7mJ6RH{YI+}f{&nmh4O(7BsWvf`) zHDK|Y8dToal!b5=Zkv~I)DT-6+9~tDnB6Z27yx>@BG>ZbyobE?BaY_N zb!~e1(wwW@9~yd~>DCtHCq{g)<(4`lu>Z$M8{JUzn`qaL)LD|y?vJgc*FLMDq|RO@ z>9N4SCu9QJjH#%gj8GjSn)oj~Oft{KnRN*KE)U5J8qzbeBlz(BSkHmQjtNMYPE9h0 zP-*QuD*P)vf#vGqIQ3%N-0)SQ}MU8}?IMS|)Q&R%Gb lmGJ-8#~*8t`Wse~beF{0AZ6GwuKY literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.8-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..c039ea6682796af274f5cba0aab93e63b074fcf9 GIT binary patch literal 2214 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 F{sZ8D7lHr) literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.5.9-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..c049328a9a998c180bfbcfd3830f49c2830fb36b GIT binary patch literal 2312 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 Q-y1Z)?DH!Xn0~ka0H@0=9RL6T literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.0-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..9fcf0f3171c413d807bb14d52df0496e2b85be01 GIT binary patch literal 2341 zcmbu>X&@600|xMg5sQSv6j{y~VyK8(t~U2E_Z1T(Y?fHA6>?{hE6FrDqlxA|a%ZlQ zu_BS&QSLwT_J6;>pWf&B@O*nd|ICr>9J&BD03TqH1xg?-W!TXGD_U?Wzaja6!}@LWAI(X)}AV4gndF=np%A_u)pZ00p0Crf?v*$(K(9PF>(D- zag+MqdX54QvxB_JPc|U|Uz=$Xy2h1r+AEVe==$(5PY>rxgVW%idYoTT2lCrUlu`5= zEh)e{J<(oHAbZAdhtjIZ-+?%ZIBeUOuEho)=zauCT zBT!#dRvA~>3Tu3Hp+@67@$-zKVq$@d@7%n~aL%PHP4W7bxbN)zQOf9*^w7F>a5q-(mCv6 zadMxU@24o%WTC z1Q*Tz^o5+(V`rZ6$QU_I_}Z-4cASs-LV#O)+#x0-S#_Kfy&HUIiKCe4nd- zT-Z@;$PH*wHav7Q?<3HvWp=HMKP0jLv$xHZ#-Au|q{%jO%s*7)r=8K~+^aTv%DHO8 zU0m5E56jdkna3AE)*LfT!_}a0+aMTT0xa=P^|z+kKf8;Im(6BRllb(V5?|PgsWga` zk}5lS@?Wx*IILeDuZ1pwK^cV>;kB$9h|!jDpfVvvJnN2^zLGR-8?Vtg8BD;~AKiYfBQl zUJ~|?7lS3xuh6HHlwRb|1I1g$Kz#wyibtNH1FXfoYQ<4xG^n7+!G}>fOKp%IEFoHxP)C&T zxdxVmFGNa|Lz^CVfqTzVCRHuw1641OvPlI-hlFT3=lUf5DS`83tr%;|6@-kLmbs4# zcx2ui&oh_rLEyAkbC!=GJ!)Tjhzt#^_E=x4UFS-?+v%QRnOQ?A@m>?!^0YkHIk_jh z2N!NWUcx{F?T1Lv&bO6IG;4YmTYh@iBgO6ZCGnnb@aQ9p1OOCS~|Xsr+8iNlRHILg7B9s z+OfAr-T|brBjR2D;6Q~M`0Qn`uMw!X2OU}5b;}(lzhZw(SGh4Bnpl5%Np|}x1GzTr z5J)KO!ACfl7njdLRZ=3KDvZi&UD=G^^Yk1z%!4IJ_AZ_Ye$6lMcrUmL2(uno@%GW`Us2u&Q9?;tX7Vrn%or?j%E|-=jc3 z`-WA8%BucSPlG|CSB^Gzv880JCr4R8L_{f11h#Tcc)%&ve*%b@k--|SI^iCt4yy3n z4jI@&?KqChgSb~_$Y4-|ZsP&U^re!XBk|f`^)xm5)3>L37gdVyG>vjjuhrI$G-+dHTS0@vaZOc_F-jG^|rVV>>-FyUyTZD_->88v_9 z$uVlVH9}xgcBI zn_lJ8%01jRkCl#@8Th%JFt1kzg7@akExsYl1UH)|W-2YWrb4UQ#G9SR2>K&rCX6F-W&hty`74$GChFL~ Z^Z%g590}z7_v6^#V*YO7Ukm{N{{d|UV+{ZR literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.0-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..b7a89bd6d600df0556ada8189b712359446013cb GIT binary patch literal 2248 zcmbuBX*?4S1INckMvmM((x!+q!dxNJpRnZ2nT)Ya+A>G(O^#&9S;#SGB*!pEZWB5r zkuZPC-3+7t&e*@6_s^^6_j~dE{NDUtf2|QfkRgB*AOK)^9XMP;id3v00{|H60DwLK z0Pw=y_rdsi!|r1OePDs!c&rCL6o$fKy)c0o92Ry#1+Jp05`gn__YS#-!w0&1;88x9 zU~d)Q02~$!;sUq<07L-5AR*zl#xD*3qE8>1^!W2$V=?kwvT@0_(wENG^0jG+wELTI z7B%jrIDpN&EmDSA9SqT7$@RudrVEme&J3)7m1KnY^(d)Q6JG} zV5KGNkIS+DtID&g(eFHdV$PkdH#nonk{-1I_FNpT5ZuJ7(cp)qqP{GO9MyDAlfub5 z{g;FJ+s&eL5xB9_KZGAkGJC#nF5MOR2PP%>)bPtqe@_5aQB>IeMzmqsXCQ$;a8;|AU1g-X6AH5KeI#3Mk zDt&inE-wFo?06&t1_pLvuA8T(9s>0Q4V2!6R7z2yKI}4?Ry`M!e&eaH3#3NI3l6uU zEy**43GrCV+pXN=?o0J{SDmwC_oYWZZrYGXKQ}LTvX-!xZw8b+;H4orJ_7x|lqJjI ziCA3im5Q^%{Rqm2UbY%w==eBCE-K+}c%5>X*K8zTJmlE6mB_C;igE*Xe}e+<84+0t z@idaOjri<5V}wGgbBi{_YSAg!B?E9JkmL#Dk4>bu}{ z*9O(gqep#ybPy^j*xmbg(HTNihVqXW#cAhDhl0Em1`Fa{VZrW{5;fYz;HLh`AJP0v zB+-=sne$IWW71W=jKD+_(2;y2~D?aI~-@B_MX42?Ufz#eTX)_dEJjqjBNp>mXRXV5<$% zWR1lmcS3^lNu|TD_($8qQRn+|24$OEIjGoPmvnX19~br9x;M+!j_D3^0V_hn4g6xN z;{lmpi>DLi3~9uR2*F3Uo3k~(x5vemM?Au!A`z0}YN|JZ%YCw59ih*Q!tra90s3qM zQZYOmtlF(frGW@dbOZLRqc~kwnfMS@_O5r%b=G$7@3$3rc6mNZaZAwSi^bu1u!Xpu?2* zwp-o!uk63h=uX+ll>`1dp3gMwj0^nRYzyXN7wW_{RR0Jvd9|x`1{P;O+!f%)))9Gk zQu@?ObmfmrYY$-XzkSxX0!U=>szR5FG)`|-fv&;K8hO-yJ__3}Gd6&nAJfLENNm#< zx|K|OYq0E5A%VBrq%xQQdsZylnG=A?kqVbDn1=2@(Iz}oD1) zg=6yi5dH~bng2U)|5h4G&}GoybdHfhc{~#g0|)TUxhO}@^ze$r+@3HLayPW?Q*6#0GfZV@$dBpa+dL zp1F_7H9dK9E=Q3&daS&?@Bi;#@9+1=@4w&QUxWiMpE-aBAOiU0cY>@|(OYr=0RX=k z0|3_n0Dxa;bRZUo(Tc|61GVs&h!CHMSS@sDh#wY@4Gq!K)z;TG(2fknd0}G0LL=~A zJ`w0ZY!pU2C^9tU3?Dzh696Cp0H*2b0av+K!z(9QZP(6~_Jv?o7z(MGx8=-KsluIx z5?$doJe9A$Wg*W%yX~{acj%ua$7R2~GPC8#qFkFLZ-!^Lf12OQW}R$!8)_Z*(k+ch zsb;51N4LCIo2;7KoIX}tCb%dyk}_}Q@>AfDxc+xK#Y}1@->8jcf*;zGYAYo-NQ=PL z_Bt$05s;d_V^MG2jy?{in>F)_?W6zJ`2fbWMx}_6Ao`xt`bn8_EzQ#wEfh28U|3mz z`RP?p+dx*a4Oi+`pEv#UsJ!^W`Z8D&I8YZX9U${4dy&`nvP;G41-pC3ZapfK`GL$W zRY|{7)t3jBW((Gu(p9?4D!<&CL_TYZyxUp#jh=om|LkJpRD&VBe9UV?T5^ZReU*H>#`|7@w6fl-hvrHve0-!~Ri zv4*)9BB3oK+E_YKsT;PaXEZea>aR=T6l&jP_cGCEPZr}r(ymvDY0p;$mz#hhZKJkF zMbnspI;vF^(xOJAi24YFK@3>je z|IAR)r8?W@;W`rU$)epj^)RUS5tyGN`}^+GS+tdC1KS;VVr^UR)}metk_XZV zDo!&BHxGX=p5Vy{`wHWptie#sSoMesC(XjF4yafWq&HfJINS{=hTuDy7Pyku9@~79 zBz!4vVlnwm&b7I}2eN^<(*%TiJ>8lnz3`9FJ>WjDXf?hu-&6Ey${Qbedh;N@PZ>rRN`m*(_vaNg#A$j+Wbcwi)a8h z9U?FuGbYZ)tX)sH@zF0PId?-Yq1ER9wHHR4?kE0QmSd`b2k0jTEZ7tb!LFcc55<8Q z2kL}p@MQV*V<&4N%KM64R3bxAkC`+Qd3(6Wtm~5CW&RE8>eu9<5YA@bBjrp>K}B@O z^VdmPvkKz1n{c1=MbKbqf2;buT-g`bw;9U%-qxLu6qhx(o;t-?ZpzD11MJm&9xyy~ zNuZpk?)?h={6o$w@SGY;W;*T4xLt)Ib5G-f*EN-7(z8v04q=q~xgQM?waoL@Lc4SC zx>qvlO{|crc>}icU@6Vx*?wzBqr#!p$K(E35dx!D>lgOMP4g6R6bviEtkSt7qF!Nd zP$|oRv9k{id_Zzf;vFOe>DkZhoJ>-a?4TnrLAdK(Zl++Q!oG!*d2G-ZHYd}fnR`!w za_ShlfBzg!O1O?J#9Tr_!fzhpCxvxJ7ShuX zZ+^HGpo*bkYr%4ae2jPM}jJWnXhy zFK6N-rekWq>{|9!h{<=tL|(~)uMLqTiQr$ z_2CUijQpS2f;gg^eJ?cb2{RCsO4sw|3!}Y<=@{X zmAxkQ!A^2W6>ZP?)BGRhwYs5nos+p<#2KG-m&{0)Sx?sQpWB_)17%~5aFybwe#u#7 z=_;Hq`Neq20_C{Ef3oIr7F9*R-eL7OP0wn#y+AC96|jCUji~I)UvK*ivXRdR>0z?O zs|OUzOTCS6+#^2_gY^iY=?hK<3NB}8lI1xm%3U<2$ei9nc9oPyxODmjwzy_>?i)hP z9mlg;2XO>Ok^>ej8tg(X;qhIF9q^rFT`{J8tYxznm#!^%C4r@B5 zMg5rPx7~wQRs&(0OU~&IP7+Gu!XqA4oyu{GPl_)a1%MKTbynz~4>NpEM(F!-ypt0L ze%7igY2@9VYYBQbwh1iqVUt2+fXR!g;AMoO>cc%u=Cr^b{x`;tzB5>9pY%XIm{ud>x#7C@jw0$g3WsFQ*YoWGfskN{aD>+T)oZd&oq5 zes)=C>oF-8GpFyxo!p%p!(SY`F#{dB@+O`d$xMwOqJb$+KPVSRk>18VLSJ1=#W4B; z)e_IC0BYa71m)-WOIikv+_12PA&@!CA6h%b2JP%IyiJrR%2Oy6*@Be1X gPpSMj1mJ(>|3M4FfnVT1AHbgt`nfefF$4ho8!oqCG5`Po literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.1-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..e0d7707ab0d680e2eebf34c12c66a8d784c74e84 GIT binary patch literal 2247 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 QA8dac@OR071q1;90q9Oz;s5{u literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.10-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..11447b6ef9db298824b9ad10c634e693731afef2 GIT binary patch literal 2236 zcmbuBc{~#i1IFiW?wb8Xt|UW_er_s9%6(TuuH5F@<_OKSTw#uuGcx9uYm#f`YUY{{ zQiNtg_<7MAlgi$D|9}5_pXZO~^ZfJt`+V)KI5-Uf>;OT)w(k#U>*4ZC1`hymO#=Y9 z3IG6n;n9Jx5I>b@SY)6|q+fWLS9q+74?N5l772rgsa#goRMk?AfQNYc#US9}k)B@R zK7p|NeyTwc@Gu}J7r-3=!2DiIO%2fasevR+PqbeVcuoz2UF?%e&U6$vfHd=UYlFzh zo9u*F-?N}Vi+;ry=YFuOHmO6q~^m`?$TCW`d0cwK2D9$(c9GMJpZwDZS)LE|nGNkD7VgX6q#r-WwBmcCo9sRF(3nuAA=7u*}CW6pgci}Df zl<8BhC0nI*5B&mwf<>0{wyT(U6GT17^4GbjaIN^&dk0vrh z-I+z@Ia?ex;SWNv=jCl~My5jv(ciNz%7t9jQCQEk-k0=T!zSLUe1k@KgR-S&_VC?o z*B}|@zzNNoy~{qaweRcRif3&HG|Vx5K^>V_c$Ew0C;}|)H*sw zL~*Q0nYuP9fat);B)*b?bXLxr{h>PHuM+P))5{xT)@T>~^kS2+cN2fTk(_ZSX?b@S zzaAUxEbO*85Uz;0280L=YH1G#0s6h4<+qId`wWhE>Ys0)j=18mNHyJO3Jvla!seBF6Ao6_cJ@T1Qx>0z*j+D z+Hf{$Lp~q#f+M%w?eU@*W_HT-vkB6E1sqf=9-Hc#s#e{L`h@mC?dfJacmxLYYdmpQ zt}u7ey5Mn7VPdJGDLQ4z7Y=}gp@J0Bwxp5<0Sp%{SE}J!8wZKuVj2J5buw? zs&9E4O&43-p&=0~s6b=X%1!AC=v4Bj1jWw^47zyuq>|!T+Wmc|hh$D6wI=a+;V;O& zNl{MiM*b-5wzuemvn1`A<7mQ~8G}4(%R_WgB=an}9Twget-m83dtS@IL2;IBkh)eV z-{CTlVBGIw)idUr0IJ?gaoRroQVN97K^Fu{Fh%?2f~vL>cmU3Jo9kirb00lXDW*0g zC9Y|jFdD%DtX&^96WA8I2jq9nJjAA}k5*N~c&bD@3$SQrQK1fkuCjoU zz3G{}wBIrPSb-DSlN6OxAy3KLy54ELFg#r69^v?esLbcOiF}Q~CJ?4Z@uwaj11nxnXcT+% zC4VF*g8Qyn?_I86R&FjjOVRk{7Kct|>D;C|t!MstbB`zRXbTc7(Abj9q>g6h)X;-* z^cVVl9xVskvD?+TT}}&kmPFIEC&(Q7jxeRyJ!9bW_b#MH+^Kbx zo)b#`h(g%8zz&@=sDu9g#*w_m@#@o7V4?c0&bTuuR@cDsI@7^1H_n>JdvGy&(fq0mkrL)ecKIb z;ba8v8-?2+EUA%PI(NM{x#YVG_3CIItK&Q@khByETBoQ%W*ncs2Hq8{Q9(O{xxsovcUJt!zV2-D*2Jtbd*kEx3PY zk=}nC7Dm*PR-K=?k;t3*v9&JRdpC3dOe4MQ$?uoXFl@RE#K3DE;sSX_^6%#ZcnBS*o?Q8!K5}GO(OD7|K=`ZBbGf&0W(mW62?a#oKPeR-Mv^CCUsqS%`X}(YUneeibGQ6wXM;?Ch4QuFTY@(Tnh8aEG_OrAZi=+ks3IQN4!ZM~9cZP3rk)#Q&>-$Cn;9is-vw&ev;DoQ&n$ zcgq{`_P|$J52$HRHARzB``^8d)*m_z!fk%O`@vGLJ1{qi$lO&(Yv4bsZ(?$)9d4Hm zyBvslq0DyI_4Z?O+4%WGt#5;2;d-UN?m7zE*K$f!E66$du;yq8lD!ohyCKK_rib4E d@n2!s{>1;o682VH+XCTxM0|)S*LiSd6oMc5uDC17%lg`S_-s;4iaUHIUBWIP6y*e{;&fb!dLS4>^ z>~eHQ*)!zd|9StsdcNNm-*?~FA9L7QdTrngzyYj!9@!Wtv{c_@0sy2s0B8XK;E4>r z5BK#_2!^BXE1m3`;8Go8_yh|fsB{%;n;P$%0E06H^@q=G zn2kDbKc{T8ukcX>*6N{#3j(%wHGH=M5}Q_Le|cYG_0R$V?XJtUe!+iKkkUKP_ME-SmSzEr<1xi#Fd`Fu<42GLEz6tVH9! zIh8fz0Hfh-jIlRgNah&-GbPg-n&BOTUf=YsBfX@b7NgTv3O8JjQr4AfM&%C_Il)vv zNxpSFf4o(a58m#VX@@3)wj?m)G3tA4kGGNe9h2 z{WfBr#uDz`MQ8WM3OK}f-G|tsHt}0jJj~>QHzi`QyHiVe&!BnR1EdI&UQGT^vta22 z&eXvAE4RZlZF14LBlXt7z($67R0HSk+Mm%0i&}ZHm=-x0?}NUv-QJ1(Uosnl^_M>l z9e<2!8r2cp+0B6Zs5@az!KG;bWR0n=JibOj-x&;^pusEJuH&LS5wJZb+Pz7J zP>B8bXLrD4p^b}_d=#?Cak;!xlB z%`l<9iZmGw&S1JVmjv0q4z6O*Xo;@ytW7@d&19gqyO3D^=*Z9U7|skjjr@$_wBfbQ zN$;;4{P>k8zw70e>4|I!+T*JXb6DPYn;REKy2wHyWMWcoM=Gj7wA{4Dz zgz;d|oW%gXCT4C3ncN3aRtd>op;_Y)sh#V?xWiP>bl4oaxJ| zp}shYS4U{bE%OxH98soU;nGB6pH*lj@sm*6d&K}pXQW2*LPMuQK_o|;@Wrc7mX=^@ zc8}UDaUq#u(6PDNap&I8L(`5FLA+XDp8cERkW!&2-NsPS3qcro$CZG=vMZrx>s8On zde{jK%I^t-s^`de#i18Kh|$p>+N7wqbv^0XpzdAnMZ{{to2?z686EN6Re@DLrT$_q zC}Sf(kbT=rfaGGImeoRa1*QITdDhbt~V3q2_Eyu#StR$b1CBGhV zAV^7JiiOxHK*;X#L+MFMw!rc`YUtwwr$Q06E%X*XrHc8tYgPt_qPKlmc>SZbHfE&~ z;B&T(5~w!QMhdMA7KH7wf2Uq;kP!d04?&FY3l9+5mTEz${$Of~F{nK#`+m=dBd4{W z!B|)m8-KG##&V6r{^pm8&P_>nxE5JuIE&q}tj(iV7R%PXcPg9duBqJI@~cU$7d_(; z8Izp_C%gkM*W6W3Tl6d=q&9Une*<90MwrcQXJ^nPVt_c;Z zKbbXtRoQ*;b0y0ia=do=dA}{~uw8%H5(_Lu`61!wZ|f&fMA4?au)_2E(w#L_>f^c+ zR$Btg%3U=*ZCoocWaoH#ExuP9&`)A3cxl4dr$lT|Z;Em5#s93EHNjMzVb&77Zc{W2 zh4#&%kzRdF(H!Ftw)Nc+GqVq47r(B8F%q)hf8R^5ReN1r%qH^88D{)PE{iOVrAbb7 zRC-vt?z;??*fru;;=J{qj-r$gU$?B64-Bpp z5wSW#eYy8?Z&KR+p#mAH%xO)eze2ILw8<8h;799#LMv7pOqxe})7-Y~gx6_DO1g46 zh61V@4??{KJz0&I#94LU<#N5|*H~l8A-G0F@Q;AZj6*J3pXY%C@-XwXc%>ZkOu1`7bvH{?cLMOVRUD-&;D4igQNR*{vWBB!x$L< Q{h<3>pTC>^S3m&p4F}^MyfgTuN1!YB5#Vd+fjJFdy#19h?=yWf@ z+1(=;t>}rx__8vA01f~^^q)06-VJ&T^)LE7P_K0^uhZA#GFdn_3CRzWBCt28@ih7) zfJJqO$yTg4T8xtix0_Zk3|`u-gBdPdx@%K?;kthcadl=RW#DK9rKWJu(PVJ7Fc$VZ z^4CqL#dq-PdW#<=2I1C_%EF|ZX`nJQ^#_!3rQCKx5>p?-Al${-fna!%zw2Xw_p1&Q z>PWO%7Fim?fw(BeJYN3@`m}kt$E;o`Hi7FSdnuE0a9+k%$2(Cd`iSv8tI6<2#tRYo z@Npsw2VN&8jck_8tg85+#%Z&o874bxf9qKDIupChsghd0l0IX6V)?Q}ROc7bOw3m2)|2shpx-2`|cnxvj<|t=+3w=2Mclo-T_i#jxS0+Qn_o;MrTtD6IE;3R{B9*iQcO&feJIsVU-^|p0FkrIeRxPpAz@JJRupmD+ z*IJVm-Mvo)gM0I!z4gdxVp#sX(ywQ#>Z5IopD2Z`Kln8--(A6@z=vymqMz=AwLo1v zemu*@@n2FKhdc5F<&-T3_>rx8fzQ5TXAT=$mTO1SxHzI9SwZOipb?Aq5(@323B(GL9Do6N2fqsE0U;d_bXtPYZ#Qi`t${A6(K1-ed z>fjJXk$!Qf8Z&+@l=j_E~I~#&jVmO$> z^2856um*)An}FltmU6#QCRy!{LtFW4ML`1@qoS(5$`Lw4l{7xCodsQtm!Y2jSn^dr zVsGJwQIa2o@=JF6ydCw=-Of>^xB}U-Suc zvV1|=eLmx_2B*B~bch$*oKT#4ZOb+lna6f2NYb|vzo^QbDWCW#w4AaQ#u5c<`#@Qh z@IkyXinAAC3pDMEMU>MqAq&*X16z}=2z8oaBg%%3psl`|85EKc{i=TYQHF=C6K*O&)&keaG_h{aHJ5Q1mPGb zqXw!rStircwH~QLqzxSFuAYAuS^lO17^701fTByPA;o1HCjur`MfQ4&N3ENjQ&LI| zz>)25!{zM1m)z)0zMr$RBd)Cv@>5@Ywp%(IotRC-mP?Gp9a}Cb%Mgt>EI|-6+Zim9A z62Vfj0~o(S!_^p0K2F!z)`GNd#S?dGRMtI8&PnjC>MuhA=9Xlb=n2MsN=p*rjb!@t+cr|^?iA_}+DSMzi+pMNX7;NCP4sQw z1+aE#+c~)0$|jWc^=HDf6Z!o()W|oO)?V9{8}U~|5V5kiJFI}J zP)=9efw|m#)Ji2Xc)-4FPKwzYC_nRMch*<}I3+#fXCq^}CpS0+|C#n#VM3zc(fMp> zXeH)RqkS1j=?QbcuoGc+AATe^b?@4@Vq-3Y>Bqc5qpCaGzZd3P`OQrjfVzzTn;-rl d#D5jd@HhS+nlLv3G5_6Q_+!sM31j)&{sT6xE^Pn+ literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.12-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..e764fdfcb9fbc87e6e9ef134bb50cd17ee873f62 GIT binary patch literal 2330 zcmbu>X&@7f0|xM6yuy^w=E#+tx#f6et|8|ZA>_y$b7anzBbFmsW|kc3aE!{ZiJ=@( z?z7xijzx~VuH4b~@BM%OfBHYqhv(b#`G>G#0~!EW0la`U?_)>tB*7*_P5=O{3jkaJ z007=-49Y*qM+xH}fl`X_2@Adz7Nvwl2YdTR_@jfBRFyTAFDr+mgFJlhhM>bDJZ^;{ zQT}&)lmo)i!KZ-i05<>t3jpXpeCVffq7hm+G*GJtdfp!Ff3aCC8E+>Hm8EhwXz@3O znz9zsj?x`ZS+rQDf8J{PA@CWpL4%qtLY$o63S12()cu%UCkz~~dTJ>hwlx{+6eL5L zaR)XYOB9p0wb#EF8^_*|swlwQ5ZPbBwWB*GRPtJ>cwnEYajZAejcO(++*KbI^t#Q8 zK8%IGm0yffh~*<6yqyZczpn9u^+(8ZYqo`yXL|ZTs_V!`E!`Y{Zy+7Z{L{*D7Zn~ zuazCk`p%Zkti;>!h1P&+3ck+iPRgTV1P@+OdXxXwCTk$$?5G~gs{^9`@b_{YD*Km? z_33Eqd|$;O51lA=O{PW4mRWm+;S1&{<3zntxR)-siBOE``RH~!VE_v*{}9+~5e9L8 zEMvjzS!!{!Bq4DV6z)3Otk3eQ=vXO?SB;_rvt$nw`uHMa&D0D_CV z_iZy6+Ch0HtQyA6;;4?euX0y^-B+H(Fl?K%KD^p%FV zP028(dGjCS!55fl+Y>ips*8ieB{7(7TS2SpHhX_c(fp>RDWwA1D%j-QEH32}hv}?r zC3&1NgLSA)_=(l&%F~86)^utP5FlvZ3&v5{Djc77xq9~fL@bW8RF8DI{Yn~8d2?jw z(@U9(FXQ8pV@y#iW>t7D{W%HN$FpRc@O6x&9I8Koi#tAoX0gzkrIEZ+^@VNXDjb0u zKtX|;F(OgBeiva*=mts8;0=^^T7P3yW0J(#lA`i?aAQPQcWxzA0gIRg$71U@vCcx= zcpwb^2Hsl1%*{!VGpa*XvldBQ5ZY}%y#mI$KNp>N-SF}D%B=HI~-{;|*J-j^l5UcX<_r%P=KR)GHe>x>`HKMCF*`AwEKqXoC*P z4s5F?QRS{k15t&t=5qn(dChpacX=Wn=A^QIExrhowg5u!WP813i6k zbkD3taP89Eq!_!Ey>@Lkg#(iK6V(#=G^IoJS3tZ2^{^Ut!H^UCx*vVZrh$^GVe z$37V=i{f_~x6utDDyzmYpZ%#L;<9))?+e{ra2wrg$5MDHakh=D7x_p<=-YR+&$p>L z1;DQ*xi(jgOSz6)3D%P8a}2RL!ON4E8DI6bHINVh)0&jyrS)%C62F{y#pu3mkts&DT6LO?M2vj zL;iXia5+q?Z+H@h)8}mQ6SGc++>JY&?lp&}KKR+JK8y5UQ4H zR#7Okbm;F=+ct)VcEI4mo8owS@Ce!-`}k&5`sxe!jy+7W{(c|V#)~tlJUHl>s&m!+ z37=5KCx#V_aNeTQC9^sc6EFSI?o~zp?j32PJ51NuME)dOEO@zvc^R81leJ&=j9u!H zGx*gNq7d8Du~nfuQ>~f4-@Ye2K&LR3MP2`5(1+(a{Un`K$~~D#_i4p25RHcWf{-uZ zMVQ*|b%C?GWGLA55%vobi;}VXd}XXoGli1dvsU@`&vgOwHdkw3@^7SH{|ZEqGO--W&QPqoR~`V-Rf*efzMe&6-*?CSO;c=F0` z4X1(}iTmul^bX7IfbK8hGEC3j^y_7QF_De;#JGq*s0EqOQB(e%z_fS^O8sN;hp&~> zk!})vHH#!yxp9nmzSfyCM7KUvZ9;gm!_3zsgNLjp!oyz?=BORqk}849-7Xj z!mrVbgYdN?iq@c>ujCO@ch>N=mGdM)DYbsigOYGYWGtJ4O&kzg_%byvf>YTx6JqL1 zm`0o(t!$seBlH&~W`=l_uk!it^a R-w&2Q4fwNpe*^>o{0D#XUUdKf literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.12-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..bcceb09e006a89924c2f626323b03c871ef55aef GIT binary patch literal 2237 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.3-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..2d24029abb647b2020e03ec9b98b13414cbb1047 GIT binary patch literal 2348 zcmbu>X&@600|xMoE!Q8pA~7LJWe9ULN3I+>n%pthvW=N5 z_#iaK3nd$b2|&vRp!~dD{2s`<;l1540T{futUOc+stonVdm&N5K6t+Xq>G;$8WV_u zV*T;nY#=be5deq+05lR3JQNQVee(t>wbwbbTD>t+O^`SuLReF}lA{5}NA}fc%KNbQ z)SAtx+4yPSdgC&GpU~_2}z_xw|=58VCq?eDd=u`ergsjlwHI z#@thKn3?QbBc=hI!HmU_FI$^oz~xRSaVSeng${qoxJ$skaZ&iAt%TpoNfc+P3R+`h zk8r`#m$i8pX8!|UJAWR?L3L*wiZX#6m#)fs>V!MY$%VW znHf(6MLv;n@ku#XbgU#502f)nhC=V=M&93I7{_{%e|^qRzBVTt*wMgS-=a@nUQeTF%+wljI41RReYKEkz0bcx5^E~tUYT^sPoJx~tJ)6$u93g9aC zy41c9H+p`=(=~qVPI?a7T|^ls?s2(OPV)2HAyuRvZMfL3$AO~T+Gn-Wq+V9AQe5|b z*JLhKmm=F=s@%K5bW&W6=Y2hwrOJC7Q8MGN1>-I?C}hmC*{B{P(diOg*ui*)Q_TMZc%m`%cfSzZxMS)iVbB+-Dw7 zU@dF$hY>6#M_MViu4xzemG!G)RE@;A`PqK)mY8t?GFF7DB&SPyI7m5EE01dH8x-<; zihfsk5=`JS^URj>Yqrh!mThgs(B?^Yo+G2xuv?ez6vB~^^tzJcf{jX6Q~I0R77p<` zTu~*ers&8Imlo_0H|+^}AS=zF6qWl;$*fwWE?bv0ZgpunX6z5uC9v~slZx|;FdbJO zOY{P|EUU%kS_*~4r8#~VV*a*~4I_S>-P@UE`Y|yqCwu)VOHm2%!QEZ#!kd{m**e4D z7Fj-8`~HG|&{3;viVE8KEzBIFtNZ>>&pI+wcPD%lf%z9N)mh{EdnH(gp-^!_*FrWe z{thWWs+6OM+4Jp+U3uqM{BgcS#)%KT^TH+}eU|ixGtR8>@#^h)4*kxbzJoFsvxQJ< zb6R=l{Vhq^#sS(dvI?G=4K0cj_GqZ{bX#;KeKF%Mi^wzk3bP;ak4mGP7fQjW{7mGN zE!#v*q86=tvHmQF%(uo;e>I;qG-#h6_{B7hT(|1yjx5OEL3oDpwLmh@i7o$@dKMf0 zN<_&j)Roeoc}-?{2T+#d$-cR2-bj<)h25iHx_a5)#oXrl?GHGa%neDMBJmMNa9ZGz z6Xhs%1L3Hp@bk@998JSpD#aH6(?r6JK_hm=N09Ui^^5CY6ESD-o|a~x4SjEh~Ijy~)$>k8Qe)@9yK%$GuNpLoWdtN1*Gp69{$b2c={t8j6=R!Jd_ zs4&_-EC@{SR-h`ZRc$RU)MbJNZeAggD+{LtdkF&2vC-7-)EsKhqI&;s&308g-r(%0 zArvy97~}GIunK+Va4%fGxtl$sZd?A;)waYd^|a$29-Z%0s~ruYC(*T)XA68)a8jr(VL>rU~4+pXNut(@~s>e4foyyx|ca8FHbo;?pobjRoGZ$4=J_ zsg5Ce9^u~d!Y_5PU!8&CUSce`=4zjSFT)?V_seCP^K@uH(EF%IbpqU1=%!U4gEJ*& zZE+AjpNx(u_Ei&QNp*xIB&)ygx84hRC!kq;c)6S&dG3BH?quqs+a~?C7dx;zkV%XA je{1D0SpJ(R;J@?#*u}yGeCpp1;NN2ZZrNWG0RaC2uQzIp literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.3-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..af3001cf03051ebc7ff25d2e654536810880a329 GIT binary patch literal 2256 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.4-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..96bcd01073cdb7b99ada85da92341700c275cbb6 GIT binary patch literal 2255 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.5-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..d851b2ad37931c574890d28c75e03cc53c3fcd14 GIT binary patch literal 2255 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.6-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..0921d643d0356a7f3a2d96c3c29209f9abc3b562 GIT binary patch literal 2355 zcmbu>Ydq5n0|)TGYaExU$Tf18&BDTRnFzUC80L~AcCe$(kO>Egc-*H@E?G5G?k3A| z$#o>tDD`oP6e+`yLS~%K^Zt4D{C+Qf?|!epNGAb7OMoAc1lS>5FUy)TGqeZ*RG$L? za{vHB@Win22#g*vJSI#p1`~w~in^{BjK_t9$Asf?div0_P$OtGJ|Ykk7m1IG2@Hw~ z4hxUPK(WzyoT#7>5C8xv0AP`s84BBn5gxpLMK_ZuXW+s$yOq;(-4zhpjba_f$2$qO z{12Y~%<~d;=yA+rZFI4vS#q4G2)ji&Z*;S?Jt6-Ydu}cN6?ge}W4+yhE^9bB9dVen z;}W>kaG{y*`I%y!=%ZFo&UGOPQQb`92Pe;z_BZAVGHtCBLxKYu?PL^Qv`0l$4>*0C z=vP>FC45gk!={P+{nS~}N-ZwIaJ~LVsg+RsxgL1Yivb5-MN0IC?E=XbSo6j)jg8-Q zqeWkYKT>J4cMp=YyFd!Bg0^}8@ZE;KlT&7PTXGUNE1Y>ps!?%@y*@tf#K`=D4f(xO zu2wpbp4@8sEBS;m3Hp5pk0!RqH|}1PKo=LEJxf+~s1Wij{3v?~xO^aRyczrClgtTT z>kwX4?DUy$&&gi;`e*$1Ji`z;UozDL`T)*hN^oP9Y? zqae&S5$$H{IqUu=8zu9kp$?QaDoSDr!GA978`)y z?tIQOF!Ny>=w^p;EGvwvIzmfX{L&M6_-GE6D50a56Golag0oi`NN}yg9*FYYU8dmk zD0e*N3%kF`Ns!8A(fS$4K80YO7`;>YFiWHz0-<*{NJ|PEPTptDb)TXqc&H9P4(%qLhjc}sMskbvVSsqgm0#{R?Mvuu|T%nzk4TCbJ zY&eExVvcFXohLoOlH@1F2m$+o;s8!B4MM=E-|rUDRY;A!pJ#A6S0S&PFI4648pNp? zZO%|Ob<`o!!9&ewkm(09{9JiD@>s3f)ch4e-|VB&v%U^*7vs>alR-1YtV^n%R7Vp3 z$(z<6)2z0(wbNr>LiJ|s4!$TK&C_aK;B`5$?yVr|RJ5_&k<$8U8;?&Fa5t&~)0mk; zC-w{d938ndsihzFyT|m|1{QvIIY-1;)2K(&;?nf9*iZ3ugCloHu3%9wwUPFAsKYmU0bCDHakd=bJUY@=Ii6at^ltGMELuZITXAG?HmF zj~BwpPClR$q%Sann>y=TlOv*Lv0s(nh z6aJ#GcWB-^PbQ&Pd=J`~{Z|M~X|b}g(CM8`DCLEUcRo#0+*3dDKvqFquI!c`HD4>? zRz$Qg{=I)a+L2y!>{0SPaG7|P^3k&T9OUje$`v4W&d-&Spb-C5)aW`xoiOh@zw*|Z zGv(EMk@(xB(wL33yIkmz`evz0kf#?r5$oPx>w{*g(c|wZ0Wo9ezlJJ!+{jhh zJ6&)(V^rF^`;SZ#nI|r?M$#KO1#aBbHB4xc8dZS=2kt~!`0|w#J$?QzHkP>NRvoWv z-?y`j+1_(4>PER(cw(M|Qm5wCE6IYZC-qM>*@h+W+^F%+`g5Uda<%ryJ{8`2{m`Ge z>eny2sa9fLkIe0V2kj8*!HF`ajgmwy7)VIqe)(i7BO={uTCeo+n|J&Vu8$~gwc8Y8 z3|j7);G01Ma(8c;6TffxWpv&EmtNbauB&h=T#wL{U`q*%D3!dP8CT8gB}w_uKtjuN zaYq=!pA=)iMbb62Zb9L``uBnx!rw^#tTx!oiy2G{zH&^s-M^r^6 z$-Y=_HnKGU&kdhYtXaIUN?L(jI=F_ZGvj1O%HIVw5OoL{-$!jC%0AyttPnOl(L(%? zS@Pgys%54}ABr4ne5+BlIL}Z)?9Gtwz>yMgm)*Q8#-I}v`ou2G1`m@<qh1ml(g7-T6b!{5@s{TO}VdHRL6fQRCx}a_UbW z50w=uWqg}Clnuym4rBJIuO^8u!?k8~{LX}F6xLqq^(+ZY)iP_NmX`7?} z+%QSXvN9D*Z-WN0=;%MktdYqRagQhDb&NJoot3+x&(l!7_>PH%-}V|RbZRqf;mOUIgJkNX-bc?T`n;~0&K$}V|@!3>?t?BHpY`^=L;eo@WcExzh;N+xxrA4u2jth zmq7nRMQ3%B(_cOgF^QT?rQQ|YHLZml601k<{Li>%Db-nM=k$!MVmopy26E|VP0TCV)89zY7ygbN_RdO o>BPrxDe%A1^2;s%O$y(?^ZyVA=_Dll?+4$nVt;MRFB$>BKWBkn6#xJL literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.6-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..961f97374f1cda9d8b8175c6d558e51398608b3f GIT binary patch literal 2266 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.7-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..1a84b0493b3120950e6f43890bf5fb604c109b5e GIT binary patch literal 2263 zcmbuBX*?4S1IOpS{&OXwa^&bCOgVBhN5Hz2goPbUEFS|HL7Q!hD01&JQ0B8aL z066lYm$xrM?x8o@OAd`d`MaS)<=m0}aBs9X(qB$NUP)eAJ_zaSg1`hIQD_%8l)IOA z2twW`2p_$Q|~y>8TdQX`e^_ zG;>+6)vqVpu9fM9+h40GN-;}ks<5~n);j~r?TcPNo zLBREf*emIUYLx~bU$^joC2WXIBLc26DZdW|<&ch#_q9?#AU#}yrs3eIS>y3O3xCYP z*IVqkt=y04eVc+@x;>!cQTQWC)S#}TijA`KF&-Kd+)%VkK5g0)Ry+D2mc_TkXO*$> z#_E3N8UruSso4W#gJS50gzJs!FqrZbf~7sSR{_8mIy@p7aJr-ogf_jg`4&jr_NMCRzF)D1_{ zry5Tig`_WBM}@)p>j>sQ6yl4NrS2yemA!z+nVqZ7=1R~bFc3zK>wthWvOI4&z3TFo z5jXsxH80%!0x8}*ST)oG_;o_BY&8;`N-a#Bry=y$YhpC$SXmU2F4rU> zPhm0T9A3GeqIm$ho0gf%J;Dx4{O2nnTaHzqM|kC=b@+z!`OfeVbt+ zhTq`FGrsHE%PjW=)+=eVibK6rtyk|s+(L&om`F+z<3Eytqe-a? zeL%N&LDe$;U<>D_kZr7A(Z*X(%+-Ml$HR=Cv11-R!RRi7taV`38QKHE*<=*9vh^4FmLygllVM8Y+ys0LX9HPxQ{4M`6yf9PM> zFvW{x<-2mZ>GF~lO6wZZ6bDW33$2=SVf))*+^k729Ri2RqR}d*u;ero;BhRyZDrkC z?==NYKv)+p_pY<+=c5?vd=TCSvZIBTV0l|&-TsDtSmmay4BSvS2rj8KV> zXH=-<9a;`Sv({M1A-?({-#X=NQj0b|zxg0+?9q0kZU0X!T7-DE=Hg}%h2SlzX&#kH zSqgolP&K#cn%TA&vKg_S`4-zHg&jB1gwY{2KZaWdiCnjCcFXC~JoP0IfCrzRwlISo zyOZ&A3K}Ol?RZ&A?v9N`b)GEO4-#KKhw6@B2aXUT$wPl^<@1L0d{~~vjMT*QR!?PE zsHHw)P#MT^mE#)GhEcOBuB-RTW0CFxE>*umOX@bTK~Q_W{TRCP^q$8+0R7W}HQtEV z6Yog9I%9EKz%%`mvsO$5_*};D=Mb#IE}>V7Gn;Zg{U_wv(!>#ZI{B4{kMuJm5l=DfsScPyHPQD9RZ`7J zPfnZ52NXvUq_`RE&YEzpF$|t8gf+lM4XfNDj_z-%LRAz$QCIy%Nh1@{WG=Dz$IoT> z!LICbNkdeEENCpOBq#=N8U*AhtigW#R^YaFNZ?YhTFg{w-ra0|uYwbBlyWMb=A>wuJ zmpYky?`Y@meTnLoxeLm>aodOJs0qy+8+GkcWQp54OZzN! z+7)wDkc##BVc~w3C6ta{hv9#V#c#LxZ=&e_;Q!GKODGfbpAWj<_4!R0>!0;6rGho^ literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.8-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..a4b2fc73ea3ff935d7d0ae15f62c548f8ccb0f3f GIT binary patch literal 2359 zcmbu>X&@7f0|xM6u4ayfT&dhgTVjroWA39la+k=xna$kCLNvV2Wkv$x>@8Uok>{D2L=1DEH;Ph&iJ008PG06-rA z0QljegHRZMXf!G!2pZuZhP@dU3-!fe{ZJ7o92TkugTpjo;W&(!e@rMYEW+z%m~Rj& z${&Uf$6~#B4_i1I0Q}ht|nXyczqW z=Di#jUaMZ~oYC#B4dGF-@6870U&UPA8-y+KxosO?7`Y<{>)u+>-Tp3w4w-0hoWQ!` zwfe%Oq19=Hf*`ob)RMEWiEfdh!-O4@>$BJhT8R1J5%So6lt@aX zEOB+-TWcw~C1|T&CJz-X5d3w2GT8tAytgmQJbhoE@Ra-d6f(+#6mvn^ew7Z@VBN6w zQrtW|&ZKe?U)|@gq8rv|NtfRhUOT$+4x{$q7xz#r|Ba~twxGV|8EyQ$eZCaLSbF>C zr;ynIN2Ok##_RBUh`Oj_XP{;?0hgsX4Wlwh@F{_@mMJobRcnF%$_}Eu0JPxu4 zU@O)$&TA1gmf>^QsEJIN(y)>J6j%%t{M^@4zUnm!vg=l^ZDf}m2&v0l9eJ^m247ZZ z)Vcx}iscj-tm#=GLh~$|6EBa}c4lZ2MY8bKDBek^X`}U-5{N$MbH!Im3tIv9djJR z$-5#;F&8^!rC@K)*4Dv~F6Z^x@jUBAGPXubEbA5HCck(@)ki-azLC6>@Y&KLYgzjr zOjvAuDVs_;HQXSd=@MNrY{GY4l_}tq?)d&0y|Dq68sj>{DR8bv#VUSI%0r>)=l-dM zN^6IyI$sKB( zMJWTfcvUn&NWXv?CHA}ukwTId&vlo!ZDypIWc^ZQUbXTo1HBO@xdns>u6#L9Q5v36 zai7C_(H&C43%qrOYAh1|s@@q1qpR|)Y57RhMG82)K%u_Kz!pUAeCD$wu|G z?%s1BEBhF!E4K7j_#s66d5&2~*02ym%84w?0UsI`gGq3DaksvZ27|9!z3+I`5|`1u zuM$h0x`bTeKZ8Zi(EN-vwKLHF%uN_OS67SRNho zKJ=47gyK-C2-oz-+O&mUWtzRRM3Gd8BbSNpM}y|V zl4hRcu^M%YN-tcWo~sbmrB3HQqHG80PYZjG&B?G|B3!VV>wBESS16=eZAdBvoz_Wj z4CU@tgYH15<{aps>SYSx^X&;5=0wn`0Vk&qvXH7sMEqO+Ciitvyad5GA?fUI8Q>~g zvI%07;^Xxa8DDhXcxa(iH$Fqkux&}ijiSN=jD$gMwd_2rw7Hj^rRl{*tSnciwcXSk zd@@H(b1uH%Cd+gtJ!t&!qaRW!)C$PU{HkgPLk^HyxBKq`SsA9IZo}d z_scpN`t{VhU{2*g6GwgbhKiINsye^s0V?_){-&&%Lro_J&-iR1ymhyp2SHdR%62@C z>ybXeApfkX?7pk}RxNd+T7z#P`G5TlT>7kQ21=$R*?##s7E?SI05czCOIa(zlW(?D zxqh#MMYh(Mn~fP*rcZ<6LRHY|jf`lO1I`p3Mp2Pt*Ef|D&S!vvz`LK#u2wAbMH;hH z2Sq&=+K9kXURk%d@Vg&gy7&>;8h-Nc1nq2I#KujA54J1GbHUY9vX$i9L`vM>ce3i? zZe$Bny{strvpt9cma~x9+QcrO<+VKbh|_&WhK`78e=7%a&;=@RBcI8Bm+IsEH zS*rSJNkA@frlCMR!N~jK__ZZZ4VE%}@!?{{3M4Q}my0`@XCM@e0|xLrXPmti;?+^{>YNcS;Im1C8F{QjO=P44GySj?qH$@pYzF~pS$&IUEX_W=e> z`PBz0_Uy(@CMmt!A6A8W&u>;EkPGJ>ZqbB{0#fT%r#Di2j#lodL4Pqm=)v>i5ob~R zW^PMVeOj&UB1JF45%MN4+3XQZk%fAA`zY*LYeh11w}D=Shx_dcq_9|LeV}hK12s25 zY@lsJV<6bEgN-?@`|C?fb}a4LE#Wad0WSl=4bhIFz{EYAs5IUA1n85?Tpyoq$CN&R z$3}Ifyl9>&G+wcUdWV!5U)k}xj*7Tyc;RgsIjiB7_nB88=srWOQA{(6oK$ONQ;zgp z@aK}hNG3*pC$yFe2bj9LDR$)zG#iN2TCQ`=`q}>TY<6=i(kQh}@s$rzb=ok-3~A3J zbSp0Eog)V@?~U#n10)cAW&3zI4y}s_>%OL~YLXRVOeP5SQDUtLzQGslE4E%uX&#bN z1k63+bl^unSzD;%qwAV9Gt>%C&B$1}Ickah^JBs62XedUY%KLH+W~9y(cFsp&eS5a zHouY1g4f&g2{q>MqF5|EZ~JlCkBtoZ9ax_g1k(7>=alb~~nB+620f3Qr`=Y8Y3GYaxj;#}{j~ zr#v_UjXEGgBK7$kX~_Cd%~8VQ0+T{A@b7=#>`R`Q=0JS(dS2hJA1!&44Y4?Y<&UU( zNbSMkmx7$I9cyqOwFy#B(%BNE7cHS8RFJmYzs0tUNjm0y>Oooy2WEA38MA!*n&w2P ze5~Xn>@Gu;+L#CzgA8Tq?Y3EsxW~2EIRy(CI$KL*H&Avcua0#k3WPZX2>;6hl_McOfTxoLNi_y3mpq zHfsl3%(q7v;Y1nFWpgAkQvO!VDVvsNU_hR?UpK$J|H$CB>!Wuk6iP{<=CAx|>W}V* zoG|Ovb~m!Dp=)t=xB4yYst&RGqIFc$%1hfCrF%~Ciu;d)Yi3)eW2*z$OP|wDBsx8* zXPFjN$a{;0O!a3Pdz?M$U#9yVq@pWbQ}B24X|~FLEWCTTZ7U@N;&hB_Ml%-G+t-8JfJ!fz07$m=|&rbHB-Om-Y_@RS~J>5%tRUNHC%YnmXa4(BGh{G`FOA}cMi-GhIq8s@)P zIsPKIV6rXYsTNmNMY`gCKOP-wgwA$7%~oUH$Y>8zmU#}f$^wOPP?_XF_ED&*mB_A% zw1*J^2W7q2cgD8dw>W$d6^Wxwmn@oURElPbR+aj-+h#GBV-Z*}Kc|^{pW51Yz838G z^=8=FtJ@pdi(W>nKw4U6=ed0{PCEa zV~Ei3BjqozjbuY;o!zpS@?8Umj1??k+J!lQrMl$FM3z`{>4-(g%+PFvA2oMOKlZ~Cd7rNqlvwRSYJh(Amt^Nh z1e={dY9$fwnI?N)0|HO#SkVL;W6eNi62tFNhP|D$6e&381=Ol(b^Ar%m*IEG%?ZX$ zsnb!pbyQe5otpJ@ey_wx^du-103?_9f=Oi4XkLjd7^0`(Q`m{FZco1K9pX^jCp|KYpm^o`TAb8nn zmgle`T0)Zzyk{{FVJet+ZfS4!MLy@Ir{;WOlCe?-PEhy>m3quiFExoVObmD%1{si zBh$oXCQd=;i}o`j##wiQ+W6KD$M0z7IW@9pD_oSz>y@&H?^{ajJj11121grogqt4> zJC+@N{&pNum!k9cYe9p}#*7YCyzr;a*uVh^)2j+ zO}sNlN1=pmt~U&49-O?-^mHmwR>N#bJY{s!AFhhp&_2Qae$CbC z>oLBHDdgFuiRD~aV4NL-crz_gKqei~|Hj2{U;H;j;J@?#P{R_%!uszA@OQm`uk&xh H00931Ss6Ry literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.9-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..be9cd4729f64772fec18ffabef050afecab1bfac GIT binary patch literal 2332 zcmbu>X&}=N0|)S*Y$8Vz<@yU5Qd=I^bYSUk7-KY)oXt5*o8`WZ%8@f988MZcWO7bS z#H`bh9J%Eda^>IudH=k6zTX$$ci-0^j0rbL4>$w}0Y6-Jt;dvplfn1Oo0UTK~eWs5J>>LMq_ZEjSH8WEG}^COGNeYi4>FUY9M((>o6Jr6v@m} zfJVy`2DcZ-FNZ8lPg{XIv)=?q3lXU#-o}XQcW$#n*K=%2gUIbZ$ew+(0}MMhC!**( zPgC0LtK2YQQ?)z@R5(L;GrQl*HG9+vw}rg7b2;?+VLOhQzim$7c^S;~N2vOigQ=s^ zkG+G0dY;%f*+S1g>Xm58P*X%__Z_;uRUd60?yVDY;J9&lwABv5iKCcwX^|^3D?bN) zhTSZc8N4-i8dV}{CoG%XHETnClhuhaL8?c$H+;#8YWw0?L}FFWa(kv=5pSqwslcHrL)+aX zCTt2dWHn1}-_k3Cv9HRLlvxN2M^K#Ks|;rZdDiJE^6NSkjxdjQ7pY8`?yH!(t1+Rr zSZ)Iv%TiEW+!`1L>1)d3!9)liZndZxE0#!n;mOwz{ksPBwk<&_|JIfq{>9Zu6JBQ`<9rcMiUDFfSfMZV%v0kp0Gu-0C%z2?| zc!dgc38y&g-@*I)3`M{1;32^QAt1C!(u_N|ckaD|H(f(yxP@Oka-5$AMW+?XXd`_W zu})7Dm68b@V?_*-i{2=Nr}Euex0iLyxq`w=PF%|J?H{rAuL^k1a)@3J|7v8II00Yt zCIy8&;ZmX2`{|}{SO+|1={R@C>Q_xkPL3OH?&-gFUa7dt5;%M;5?d2;c501XJqWRN zAf#n5El^g1^4Re!Ok9gjRWlUalD#`FO?k0ulCO1R;m(=OYZ5Xm=&PIX-c~ePqb5OR zRU?LPi2?;Dn#twH^#)vUAS*`Cf_vd&B$U5p^4`qdDWET9VKptUdN_%(q$xeXvr4GP zo+@iG4R=ROXXC03e%9raa{?2wlKM+#{tBJi^yXMNGmMw;C&)TLikwIEsSweCsdPir`UBXM-txr4e#|>Ue z7%X=Sce?@sNU`dR)TW<5kE5ildD9;dr&)Ij1C1FjnMw2j3l0Txvc+k^JS6s;Xzd`0 zPjw%Z&izw?+W@1w@dWG;slx<~(B1ji)=B(hrX#|yY&zTqTWRikaVv|22Rk433U(>O z0dEcEbQEBYR+NQV$Vb6z9R7_R_u8=Y873{A^gb`p!;_h_2-)6dKV#lQ6r--oPRECA z1wua+b4J6+b|3dZcngA0923>Nuq0oj%buZ8T@CIhC6F)Zj?SOCy*F@i(mz<)E;sx@ z+J_O}nYBH&$yx7OB89aN@4i`L1(Dnz?OmBf9--VXTZ>b{3kQy0`h597aO(=k~; zMP=p(23Y-~0%7@N_d-uT9Ev#)2JOrIGJReeWl_3b*F4uT5}$AfYm74TgT zWpl<@Ej2C1^sDx^{b?+#Ra^M^c=k8dhXf1m4t%6vO6_^|o!RVUG>f_c^NR$@XzqcD z`hhe9((#+Xa`X(mmszNa{c8}Q4l1P^x{HFw)URqfsG_}#%hktG%1jCd0EoG(U!#W?EHXURZ! z4P*`-$xVuqPUqnlZ|pOe?RjBMd_Rh;JQ5RUl28Fj4Sh+&L)$==bo5?I6^jH|OljvGXRx9}b^u?XkRkf4-dw{w% z*o-sjYMY?Pi~EOGKzBsPBJ3XHPuR5=Vw8E8$mz;B(v>@id9#VUBCihzJoHYH_YUA~ z9o3TSvhTb{4do>&`=O8B7rS5x*DQTrAMo7gU$s&haPNM+GP=IYKZhU0E^Gn^*9#wur60c7HIjWNZq z+0sGJR;haJE8`WxTKRAR^NN6Z7UIjk+z0q@aCoXw3B@yQ%#OOhc~3-YNR=o;gE(xo zg_M+v#y4sr4hyhx3!D(5%cw{4Hnru=pF(app1X;CKT;51 z-|*U>#T5E}?!HO~cO@`$DzB|%9euP7LTPjT+z|6fD%O$q2zuy#fTSvo?=9oW5O2@q zgA-ttx=Ke7d0Q>`_mtL*_ literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.6.9-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..70b7f647ec8454de61d8161c92dd928ea8b080d4 GIT binary patch literal 2240 zcmbuBc{~#i1I9P^m5@0j=Pwdrjzz;67#7d6JT{&`8 zMlo_<$wmwja=-Qd|Niwp&*%9(pXZ%0tz`p|k z0DQ3#D0HBoas)aIr5xrLg1H$IrR;;n_@cwmSd6l&iiV1&N+>qa%P;aaHYCjJW{3|8 z9qy;%ABx3rvakX?0Dw3E0Gg751RsHeONR#=bBMQ?VUhW1^UZg`Pa^BD^i02rIJ?#hngwSyeV=7y4IZv|YbpQgeq#tJNz^;V z?^$`#YK-a|9hS-sV_amOmt?JV0w`h4XCC?F3vn9>fBIyynR$)*mNwQqtx}f4V#QB*T`a-2CB(ay{w2k;i=m zxNJoVU`g`F)wfBB{T(l-yElTCvxfZ?n^pTj5Yrdf?Y>#}9s$Z>#j%7{L-*y%Mww)} zBk2a{j4xM+S)YucP-`g{$+We<6Auy>m==_SY+W)Q%9xtv(tC?6Y#la=l{9A8TcTq4 zV_v4!45A}wp>CMIRY-u=6k#y+lqT~DB>@(EOxhmaU|&Y39&zXU5>}&uxgS25v(mqk z+@k94s|A33|lQ_*5Fqq&CLJ$7S033DmE;*t|>r94mUvaG7Ku{x%|If+ni-qg#B?hO%xs>XRS6e7#vY=$kk;~nl?rZ$)| zxr^Q2xt>VRMuU>&{FbdvMFR#&P_=$a`mZkKx|O1y&pWf}*#+(@qR-Z@Ld{&>A?&9i?#(wL4FDt9?u8Q}0zK!hONonpTBD0vuTGdt z z=qg$A%J)&TP#4)n=u!p$&h!|AjVtZugR@(dDG)N^Mn7n6&)(@E**)2h{o{+?(Ob^S zLq=f^CNOdkqlNcWa;J7J1|^K-4#r(rs*#lI7lGz5F*PdTMfxLlG9*H-2@A4=zvKp< zpw>Sx%kOH#e-4!Wvxo;@)xjxh4eUHmVNSJS*RJz)rxm{=O^%JDji0RHHJ);aWnNmA zjDjNL-=$E)(ORjJavF~3c?wl-+7#i3K>M&8-HQgPhcWbfTi|W^T?XQ*k z2-=VBL0Pk3g6@Fy9Z2Hh`sW18!!21!6?Psis~Gq!=2!jld@J>;hDgOjMQ8aE9z~DF z=)`oVirX8BEPK}(erh9Nee6_Of2_IiaQfDn&tl1iOkc&3mr%o+Na4WK%{Cj{B}h)8 zcYwspc>TLv<)Jx|>3}0ihfb6CRJV32g3X>au?v<>H53zXx$TATAlo1Hk5>_I?at)TnktvE z#kG1vkC*wfwKmxE&k7I@8iM!xs>9m9lf1B zfDW2Nh8`TDqzaLKLDK8w3*J&)Wu3m<>Z%3`hu>gD3A2#1350aEc1k>fWFbjctO+-> z+>ZNl16CI*Lm?zuO*T!9a0^LT#MFnq{nZx-2PF%0dKC+pB0N*A}QNF50@Bj>!H zHCFK7DEo}g1;fyk$%8sg{N&S?yqK3Lm;3YdQ}Y<%F5&!20lME`luxo$(L6egP8?;u zZb#~OlbWgLnRI|pX6$XV@;tiiCYr&_pWZkH4UjrN$+EmlgxlqYcgdeAb#i||7jWH% zQEZZ6T&ms4Z1D&GkXBVkzxuj5|G1-3Aa8l1tliRIGFyvaYyw@c-+%WuK=ER6f)J-q z;aM%&LZOq+NQuoZumyLg6fl${pX-unXbjWbq|iiV+vsw_QQGO@v=+k_0c6r={@(=g e8zTOzIN+c9e|W+c!OHgM1NhtizuSQ0&-xEX#VphS literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.7.0-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..06eeb80fb32955176bb667c052c1401e27fc3d27 GIT binary patch literal 2277 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.7.1-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..3839a3e7828d610b6a91088a519a7ed2cf2d5bca GIT binary patch literal 2278 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 RzaKn*8u(|g{?QBo{0GOPQ*{6U literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.7.1-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..c2b1756142d920d1d4c2d7a89ee90d865aa2ff94 GIT binary patch literal 2189 zcmbuBX*|=91INFZV$QjftK2d7m2yNVnxD!Pa?WzZFh_1p?%!DW5nCiBCb@E7b8QHt z9LYH&)f^$Y`Tgtv{Qv0x`8;^PK2JW6-!@h(AR~Yo;09Ja4(-5RlE?2(13;WA09*zD zz{CHcm$xqx`p`Sr3mS|>qukKpP=r6q!#mj99|cuY(NfV?3G(-KL52nRqk~=C&-fp^teBb+w#?v<+K1Di{wETSyw++sDwT#tq)v7InuIk){KN!I$4YQq&}SP>ky>6GKYF=*tCzP{LZ+Ne zbTaoa-vCQy%F6SnPl!_;vv4FlO!jO{!c7fCjrZN~>L6R!k`uwi1^$MG#G_rcygIAd zA_m`pw0qS&ms9vw;<`U#|3P+AL$$%2uJ#TaZ7$FZAyG92&0#%Spm@5_q86VL&z*hs z$z1O^mXyB+KYKy!WH8nI_ZWSVMq?a z!=QO@BylUcBX{i*EhZ0RALhx>(>n#wHT_fyZ;|KR34g82q*g%*1%MFD+?{U_`aTKm z?iQEb%b%7}-r%HSYTv_t_-!&KB&(8EQJN?ENB6B=dx4J~OSrEio#iCfs>3abs~2dU z>KPRR`j!zyaoHAr>%|YS%u1nc=x)qs$Y|<|Yo)4f`Zn%fj@D=Tr95x4i+DVN#mHd; zC)OQa&{XBmwLz^$#oL=__~83KD_V$h2NEJbbOtAmWrYCK$1^pC6WdWMmWx~YqNnEp-)QWEPG|)F`n)TY*K_cnYF|8xQpH)N9xHC zI=v;fa3r!-SmajZT#b>!F#nIgrv_y0M{9vno#@Zb%*0y5F0Agv;ecr8l-2-)$5(r= z42?VRR8%IxbzWmzI%;;Fis!`jv$fmQ4#1htynb54rDyHvOxQCEt2CIkfY2kSs32AFTmGz2ofm}oiwxmt}Az5?#YvHL*`L-U@jq#fRXf&kN^S! zKL}O}7?ixAuu|@grDh(7>rs<<2uS=;e9TkEw%%;!Vs6?}#yJ_yMY>Bjc)cl>MGOUE+EuS8#fH7!VU`WoiEIaKyTBY0TaCO+lH#F&%ubk#w7O zw~ur)l;=b4SMVFXDSPq7?y4Pmj%gs0U>v^Izc73ZGW(Sm&NFQ}KvI}dcYS(br&hBg zO_17L%bN%m;LVvOszG)(dhD!;_axVMuM>k*vx7%M#a2^Xsy_qSNc)DCk)^6U(IFi; z4=0{bW^r60h_vavdrmR|7#rjK>6O86gaCAUhZrUlQA6Eu^W#qel^wcbV7MIU zBx649{fNk@`T)jUI&DX<=a-CHvvFNlc5yu7ETP!Hx7AI=?P4i9S%&Yciib)7Rw6D= ziDdztpU;JFJ6QT&2bT%?si^|vFRZYUrf=O_A}h3+t{Rjg11~>T6^|>E=L4;C3uO~S z9}`>r@Z^+o(GOoXP@_TzGVWgpkvFeB^ivc6l`y2NaX!ma8*{}9?))jv2a+_3&T1&Z z9>%vWpRTsmk~9rKCh#V{$N0o18wodvodG?bAYQh6Oi0sU{%9tetn6js%$NKAsJH0S zey1R#kHJzOBNde+&?0!>t?SacM#{y-Km|KW|#W@ zmkJMZ7*DY@Z)9nB7A=>aA4QClRyts69p16p&lvBaK`~@_)67-vL8X{3kOJ3Q#`Zsj zIw#NO&1XEJlY8W6SW7(-4A?XPz5~XTo7OcP2W>UERaEUTxM^?TfgxiD=S_MyO(Nud zc-5t&x1aIPdRT-_G=#TQo?_SRYrPYtG6=EM8?VR6mGpWG4#7!m&p$P-@=6uV3usnk z58CPvz01qV_;jvy} zFlD`gEM>XX6a|5o-WR3-!_g_4e@D)6jHs!sOt6w7kHW5U^q#yV?b}!}F&nY`Zyoq; d1pmz=ra$<9px1`7>NJ? literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.7.2-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..7ff1048b7f879fa41869202d19cb39aeecee2908 GIT binary patch literal 2273 zcmbu>X&}=N0|)S*E0(5YxkAX57?m)_qD-@#EoY|XzL{IDY($zP{Y{ZOLZc$*mZMf^ zF(bLM2)S=juBZR={(1F$zc0S;zOO$PXfAF9zzGNd^DaBqnA$~kUOoV*y$Aqs003P4 z!#q5FTvfw7gFRG(UGaW6e1xjAzn_a|u&2MDsyb8ydJ!7r@8jee9^j7;cEaJEJv>8Q zpyTc%Fa zRhM7YVWvt9qikg<1til9o>FtI$Pa^RPu^9NxEV%pO})^g^?C_K+ACfqjs_C?wPC+TZ_F{-R3fNeR>m7ggb)z zW@dsh-Rk!j6dq6n?h;P-0dR?FuRGA21+gI;3nl~~>iPf}9lDc|rRow`s4+6a3X{tN+8A-U>&?z&3>zgoG?%!G`i!m`B)txj1O6#nCwZ2vK8sKJx4rtgt6sv0hgKoVal8{5gie-P{%b zOB@I8sHNycnEesm&0mb*pt6P5q7!XOzcgL#qpUQVmx{AI3^u}77<-lSM@4VYGnxI9 zSNwN`@2+4PUjS<3nbsrbP1|9WdG6sAZ(4mrhSb_}31Th^s5wRlO`r&KF!8v$oL}sv zay5cCmNq>%eD86~_kvvbTf@k*-$WHP3iMNf+!b8tWrC($1^nsZAJKguX zE&^RK@OyThrCs7CxHNgQI)BN+rvx`eGRvNfyRzxOJWr%3!63ZGKy=MIzdvv5isc)e5P?}YI z=hPG;h@&grqd&Y7brn@yX_*`XqBLyxq3k`l2Rjd+y>+Hb)7$~_KI>#z$V_m#k=Um7 zaPNo0^tb9qsEE-!*K#E}4@6I$?>L1hYoGq^JVE3j5Sm~k8M(Fh{#hCes*zTDifhQ&?(9vsLri$KE6mq+Gh zOZ#?=+C+tR<%->F-!P%xl_m|ZFet1t9wrC5gG$sdxg|Jo!Q6y<@KYBPt7JIG+WL7+|G#mLdJsKO=ix+0iCmYzY zCGBv+>dbn{XM`Mb?8nnSCHY)7f!^9ku7K3OWK&!6x}EjIIbpu3z-p8%G?;{m9G23Y zpz194d^SFnhEkSjDaZKA%&;@bd{X!aYM+6lrApj&ao6JrbtjCbj4SawIBvLM(6NE)$!T~fz$P#bswzDiH?nQc0mLX-os zmZ#v0=!3k|CSSE)HpDR{PWp!P+oP?EkYbu&Oz6-yY-MO^f?SgO{4l++y~jV8I%Jz? zfwWvwk}6FNc^DQrG3^fUGfe3ER6!sZc>Glq}y+;?T&^-m<-@Esfv ziats9{0zs5>#@M%*clY#+H!egcn#iR5NR5XmKic>iO zyH;|`BGga%FqO5c32F3;3yyu6P9V71yH;Mb)3CJsuTNJmM@z7OT3+Wh(p{1hq=_lG zhW&b;VrORS9m4LCjySbA>eiy0XW)8R@qH?#T|4{sT4yild>hq@*wB7GN=jhQF1xYA zB*~(-aL#1kDu#0|Fb_3Xa$izvHM9KUB@1tUJJocKPs{aW;i`cm;(pxXw3Fv(?J)qIDh}@EiqJ@!ov_5HxyTee);P ziI-+UD(fGrveN9u(&;EBcz;Vw=aL1QgA>8^zlrfz8UIZj$G`LcfWrdKbLig>j=%N# LySTrQ0f7Gi&Hp>{ literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.7.2-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..3990a7ab63601695170c08ba08e74c95e4f2a68b GIT binary patch literal 2185 zcmbuBXFL=R1IG_%hlX_&ibGxQWR}e#BP)0KTc@0v?&4(UkS&MIkP(qG!(G;qkv+0y zocYgD_Ri(0=l%2Q`TbseKfgD>*I!dZ2B12C9>57$NB^>j&rrKt!3+R|!2kdi004l- z`ntM#I7#`sdAmw^J9%Lqc=<~?VlikpZ#OJPN*XE$m51W69w;ZjCs;3U)B`U^S2rIg zs5=geVFfY*>;Qle06;Z5+C}zM)-!*2fT+xo-GOlfHw#6?-xpAms9>9QTATZsFz}1&pdfYB-lTOqFGB4s_|ORT zZ#le*h*&Aq3bMLZmKSf7#8_ma81Q8hmf2Pj5A4&?3PL;DRp{~vbk%!#6t^2LjP3UH zE>5A7a~bHZJAxMg9DYAm16ucXgXq?}?XN&1^Al=avS%H&b0?Fh$R`^ps8mc*OK;9OIoVT97{)rIa1&_FkSYC*5R{&$XSc$(%P#Se1QqU`4rlmiY~)w%Xf}Sy zvg3^;Tjk_N@`7M=i@WEGB~l&(vAw#SLf-HCc%`qC?jjIPx^+D`9t%Qc+!E6i<@0Jkve{u+ zOG#s@E?<-YPmElR8~eW6DZU)n;9CX_yyi=5f=t=~cP~EjpRjI5K{Wd+gOXT8X;Swz zkfF*3nAV#A?7+FPLc2)N^Dv~*o8XcC&T$%C=lrK#Ul)kn~78QT9XE7~JpF~za*O1lj z5n4ZKqT7e&X6zX~n@avzUY1|pvRiJ!u&gI6H$qK?KdV_Szlev1n_L_%eGaYJ&U3(w zkvi6U;|f%;j$;k5{zkE4d@z9p#I8C9`emd+m?h#swb1~qOU!{ELFQY)OUYxTXe6yy zs#2#Y8N|3{#fzv7AdG&C%^nxnalxUU)q|D3Ck538n7)?TxV!qQ_}aoi$Un^(lp`fQ zR&XQ?bT3q#L|94o@>w~x!fU^}yql-#Tk;H-b7ogyI} zoZ>h5fH226ufAxU1iECmrre;LRKQgzz|sO<5haeYsnmb(+8aQ0Vy8DR>Ni9S!*_@kTa$cF5HbTw}p5n*p4{f!JJAeSo-;& zzi125I&a@9=bc_OdIvc;$|GSa&6)k1kCq?Jse+HY9XjrNYp)5{qJ3A&%AjE8dO;e( zG?|zr^TR2~oxH=>La6{nZ#IycySDH^F-)}ZGr`+yTL>yb5K<?W|u z7EncKA&UQnS99qGEk)u%74J;=;2;&u{!d zeHwz|e&*5~8X}!_7LSI%dEi|mtZnoBOvund;oEy)dpFabBj_b0J-?M%lmaEaDW(5T zYC&j=DR0v%7mZ@;9a4BF(DIyAgT{Jy(df49@1A#&bVn$*{xx{OkZ+o_7UrgJ6whVk zVbc}MulM;J!!B65Ukxx2v_BW*IC8^Z`tasJYJ=0ECr=w%+-^x_ofJ5_AJ!cZm@z#+ zSDpJD9P6k7?hmvC0^CI=sNyB?9}Esr6N@DVbao$vLaKkpa)_U`#O{(#{RBI93fE;l z`#7GcxK4MARb`L}A#)0X)Kc=Mq%ZyMaunEeze-Vk@!{Odxi7K!0(P8O14YDh<~&hWog;ExUbHz9O? X@&AZ{sUaiN-w(P!b^k+FmcQ#i18Nzw literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.7.3-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..a51a198a94a40039f313175c52a6eac80540e2ca GIT binary patch literal 2275 zcmbu>X&}>$0|)S*`zUhuAh~LmvOVM;MsuG@b4G}1TQ+voB3Gs!M_P_2A-S(&T45x5 zC?qrYQSOw6QK8aC{yqQq|5yL-_r>?!_w~oaMM&5R5Co)w)iAzy2c7&`LL2}Zi~zs_ z0D!Pa3K|oEf>1DIG=z*I;zNkhkkCkc7>10A#6$F;hEO9YDKa7mbu}uINDc}ihN3Z7 zP*5x>5-%Yv0t5m;A^=#Xq+B%EF(8x-vzyGN?swrapciU4GCWn_;QD>7#`4bzc7i1h zKW}?WIQ`>%d*Dmkio$@>dIQ}4gOZOQL&1?iW3J4u(b)XuU}MPkt2Tsb@eTN1{13OF zCAtlx3Hh-c5$mf}SDfLNDN=dbB&K`v&-|D58Nw_(L~K}SV7<*YN>Z$k9>x z;nQ(undeM;snqGgp@f={+@L!LKl?1^n~pL0&8;Zc08Oizm^9t(J1WDyufaDgVrEj= zoD|Qq1Rhu(A{@*$&wkU{2vkk5>7011IGSgYuj20XbOWWwQRZ7AZkoJ2chOwFhB@vRp~d1J zEzofsr+IysQ@igWyi1X*Fy8GE)eVg7#CA;KBdoQxK!ZtiwF|XB)bpydhbEXz4I5ndTh|8aU;dRAwdV+9)MjGn_}wj0qUEO71C!t%^d zGCv=emzf7wu@fs5or)c-j=(&>CM(|81vQ0VbObror^)1~n?|6l!g37}Ym^|1dYaff zQab%{t*Na@zDE1Fx?8gp=+V@SLnC?9K*Yno%gsL3Yd=GB&^)1t2!;C)?}&JyN^074 zuznh1eJY(_-CO9I7LsZU=rGV!!xY%$lF&w-7rs7vYiS?ViqrU$AbHigN`g|0FHrmZ z;Zh}9>Xe^gCykTJohOxT2#-)*WwVvu9tyMB(wM%T)6k+^51z~&Z(7uTm@wCIbTzaA z>MMp8mGToyF&RcX2U;BAaG$D@7Ag6)x+Grk_4^U6x;WYW=~0mtA_8WKbLHM-q?lL1!31qQhG{z1g-P%=D-e`Q{tE!Gz0%|E|h zO(_=bU(h-tUIW`*$&?mdrcrQ9>q^B}t_7dg@o^cbR_3AzE@tIX5t8%b*AD5)@zviv zZJ&UBH(3eC4ZvD5zXR3bmRPnYQY7HWMgKi!t-A@J9f5Tet9~IB0~$ zXYO0qI@mtERbv}pve}xEs`BuDom6RhR7)5>>yZ69!eDC(BT2m{M%5Z!n{7up{P6GH z*<-{As+KjZHVVH-Alqzoxt@%wz__9P^XEzd6K;Z+;p~@W~yR zUhe(1QuvfJ?7Q+2NT%eLI>_!)KaV?2F-yTjNkjTtYs4_vW)EOVCO2exL;=F=WTJx(1o&4EDY?wt)#uGyj-+aHUgw#sGGg4Ng4V1E zpDKltG+KlJ`N-tJoXJZ43)`JO%L{r;V z0nM`{kFHV3S{XVM^H$}JpsblW7?oc)L@_ZD2%ZS<-Gh8DoZotIDH4kpP#iu|#7zYd8Y&3?pe2ux1hmA&B zQ9i6gi!AF|5kQ4E8GX}G{KH;m55)AsD!~go*No(6=?oZAIT;EP*8R+})e`+u;t31M zZ#$;%3oRSDy~-U`2Bs$s#`i|`SUe9G0YNLF|BZ~_&iHQ<1^%7?ha4U*BBK9(2>dSg L_lEwa3;_HGWo9{9 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.7.3-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..930b0c5b081ad4dadc4992325138a11668aa29a0 GIT binary patch literal 2187 zcmbuBX*?4S1ILHWHAiz4%atqUTtv~|eML0K@Kpu$}KYIq>?62J@21a&+qr*`}w{3z5XH`cz~t=Zh#124fE6eD!U}Co(}*Z>i_`f z000067a4>N4bY0jMg(a^1mMGb@zGlTxG)Sh0*edN($&`2KCMl_g`xtYuHo?L=ZvY?x0Ql?Htt)yQz3`&3k!EAzyxuUZN{3uB#RY0|vKIWpK)fy7 zn!Bj+$31s}^PTqhMz`Bp5~EU^jV3lrQXYTTOW1{{x3Fe5(no%-q7Ah6dfF|{6egP- z-uUi_TCTCIZ+83i$RgHLvAU4rm;oxiXh`b&SBKtRO92jBTf}1gy=!eGp#!b>(6Szf z`H3%+`f^hkS^*EYSMQB^fN<3MXHwVhmsl>=pw9_yK61@>0dJu?!t~rLISqd8m)p5y z1CY*K+PMBh6~1e$&uQV$SNnJ9lBL8v9=RVaDt2Pk;5Y9@3st^(ZxiwkvGKxb$r))913^I3Lh=L(9{zxtlQILV3*`$#b#dbRq^ z-POKtB^OWFPgajRt|U4b6-n&PJgzABfur%??R zo}9hId{L_V5T!a#^{w*Vmp`cNOb&{>D{>`rdMvyO17rKuE#SnrNzN-;*-~pT9UD5; zU}B#oWI%oi5N_M(zBO$>=yDjtH(9Yaiaz#W!mU6Nlcc+mD{hcEC8a@&Pc)Bm96oxW zIVH$3^4pfUd`y*gRp-OKUguJsR?C(}K&mFV0mWtM)CJn=VYFe9=t(Xk__>DT7!69447EC`;=x$9V2UH zW4%K7S)#R7_(9Ly{TGP#+RaS;zpTW`PJ3tZ?p3aU)bTSrG`^?TVe9dR7Z~dGQ9(C^ zZ?x_b!Sa$!2zdQdt_ZEkB^F^;rz{Yh0W81p7+Yz=A2ceJRUa+Ai0OIK=QY};FbtH` z4SQ#722pCN?s04Nv$bO_9GTHkTXL-t*zy*s5-|c7vv?QGkOn5wQeFDTa_(C`=_SIx zJ6U~Lb~z+tynGZhoqLve+qiJomR+oM1X+g7Xenb^B*{2khNFRHcqkV^Y#PbWn^4LU z2(Q?aUC(sw-4O6%Cs6XyINguW(%94Lps?-jj56s;JoRqy!w|~fBRlDY9t;ZvEN#qA z2|UR>VPG)l9&tV*b4L#;Np(nsceu~D>Qsnqj4oAvBuqL+Zi(Nd#rf9F9BRsN%KI~q zId666*k1Bs_IJ7<990FnIxD-+uoF*R#tJB67yW2*?JLb%L&|Dfvg{UbXG&aZznk~h zJkBX`V{VTB8f{n!`Y!Lt5L#eE7)3hGk3&q9nWBl%o!fo|NjA%=_x*tiqP6|0N$EvN zOu-8Dok5zQ!lgV)hEZkhK3jMJ2AN<|aOefSbBSFTt|2*wyIR5ys+@mj@zG~qiI)l< zHZ>O1(Yff2@}Ql*bOfm;`PN_q%B8RcGw7r+7((i1dMHlVl!W8_r?#UCE6Ny^R-xMU z?^e(S?>Al>mlLL-MAl>S@D~TKntP17F>kkX=+DDWS>eSgmTXjw(4j~kVAI%>x*wd= zu;19b{x9SjycG}9v7*#J*)v(H5Lq#R=ndRi4Cshr+Uh8up4Xt|5B^aKt+D$9alKC*LRMZLF z9BItZ3zUYvJ(6e!eRSK(dv7Ej9Y~7NloD+M!R5Yld3vfU+_%x8&6a#MZ;&@YV!FdI0gN)|zVT?u9;6w3 zS6kKLB9KfJm)zzLl1{%EDk~N-knuR0o&ww8Nl#6i3ZYnGu**=`C#QT3!cyUWHGjEs zjCFCxVo-;gb$5L#{NWAAb^V0)oY^ZS=)94i?a3#fHqAyu8j$R!)40>_X=8C;<Li_{%lss=Z>0saF)N|p=v$E$ftmvD)X zJROYtbwt&QjQGIU8G%+#n3R&9UVqD};RR0SPtz;fY&n}HrU(ZvZd0EBEd#%O;J-=W Y`h)*R4G<0>-aj8)zZ?9UVE#YrKQH70SpWb4 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.7.4-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..c9af47fa1148e97867e52b4629d2cb32764ac1f3 GIT binary patch literal 2275 zcmbu>X&}=N0|)S*+oZ#hkRyaxo6Jozley1igfvGP!jP+lH8f-qa?LUP<;Xh0LUe%I#dH166o*l9T5~59O{k^_VmGo zc|(0e0s}ytT!0$@!~%dmk$6Y#Kn+V78En)$PX0RpBmZ71KE+=Aiek;NR!yNdSYvid z{T|5?WY%U*8d`t5EIcH-T7Lz(Ac}IX6*k2_XLvmbQB1?y?%;G3hu3Y6+#rdOkTWI=BH%$^IBOy@Eb6!NjT%RYCOx5N3B@? z_2E9LVL?Y=Y`t*>M)E<4U59DP=m8u)G6u;4HZx|uU(4UQ7E>>wrn^I;oGNQ~O43v7 zOjdD+F}TRv-xBvs&-FxD=p^nJzCG-=5a0$gbonlN1gVP9B;jkiC=OoF=4`VcRvy2W$YOyT0q+$QNbkPAjaj4!MC)FskR^im|h{%+!PwbFWb9 zaS&?gk^)qkBqhhC*v4QFpT{_k_7Cs6%d`5?sJl+`#xcri!gEP(b%4e9i-lzLNb}R= z$JxJ9uipG639R^E5M9@~o!Mu$U+K0(uFqEPP3**4JZ|JaLg~MqEeJ1#zw7GjNX%BM zkRv&@LyzLl^ah|rr$KG(@WpDQ9-zW&bVZ^8BZ4e=Zy?6 z#kMTAZzrU@W*9PC^=w&TB-z!USraLW&UM`vDV5FGj-J1M^@YUjKc>fd;%(T12q|9~ zQch<{H?`UicAD;utNvgTQhQ_w4KwH|o7p7mJLwO!22+*e{K~yX2V3wK>dc8P^C-_e zf*jq2HIs-+d3iQ-B<}YUof2Rbe>Y|A;e1E0Z;7KaUC?gTX-#>Cv;{REyB1<6-9t-; z+0;lNRi3Ize<>GZUB$Ut-hJ{-!yH6a(gU zlwro%jAc4^(P=~4HD_3A`$iwfVIpX;vBpk&E&=&dpq}ns^?aEJHNiP-(g7sA4(U=3>-*O!>g&{sqBq7pYgd60>^&Ah5^6itb{q zfqGOTAxp%E;HaaSTWn}lQ8A@bxaP*So~)43U(gg1c0Gf!{$FGw!->r%KfmP{yfW7CYTPAe6$qbbdhgS(JBzT*6f9;ycjRqGKLil(usI z#rX+nm4DJXUrbnUgf?PD3{Ot{J(iQ8`~K{Zv5H>Eptjnv)FAYu=-ph*)1Gu^-O39C zlIcdT*Jb;EhU^{b-Ki)r5MO!*@9e0C){PF1s8lx-m~*IHmsDQ}du&I7*Xa-o|FL3z zv}u$9>iG|Z#$I&Xh~Ok?>H&*scU39BLM|FiRdO%i7xPg3%DKr#CCe(6{k%;ZH44n4 z>P`hom|*v0K95#jP@AGn(D)0&|<=zU=XhR^EO4j3O)kAFDS8HFD zqYUXTY9&fK%!)K|Myv4lRMH*jhioi{l|Oy6^gd0-3vD4?)IM1|KXLLh>>h7U)lqF} zs|i%g-Jh9c+g1=DSEK+J4(?+NO>LSXL{wk$?i<^0?RALeL`T*k?Fo(cI}6jNi}O5k z@URKP3;L?F0!?tD6H4iLjxDlQY_C0lN_^~YRY`w>Dd+-YrHC`E`(y`eWY`tX27zmB zAo@J3Snoq#rR{1ThSbtFtXaIiWBFwh!7raQa0Iz1d?H zS*k>|Y*xw)GO^`mD!o13Aj~e}{dI5}EIw0d!Y!{Xo3bDj$n#HkewjIA=bRp{ zAVptvh+%JPG)8`fP}(Yqi{9UKI=NN z7STrIIOD&GW&3yjA9C1QaB=_p P!S<)Vf7bI4WdPtmfvZF# literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.7.4-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..716e232cf11e96ab2eaf98a8da0382301f4959c6 GIT binary patch literal 2187 zcmbuBX*?4S1IK61up|l-`o~B;Oy(@+nq%Y&bA_1gZ;ZJulADmL<`$8NLJG^weP46s zW`$8na+Epp_pj&u^XmEiUVJ~lH^0|k3lmm0EdUU38t~Qq2o*L4>8<4i0HUD)fCc~n za3_R#;P4o^5L}>#Tp-5Z$JPI?9Gc+cjtj&QeB>15mE@J>0|kd*;r;u&NsUus>>w+V~n{{vlhOn)Dt)P)#8hM@mEsb{c<&KKnepj=u+S54r$$h4& z%UZQwZG-h{sqQ_yOI1%(Of%Ta%vD2sW}tbUH7RUE`nvbr(M~l6=fHgwe|&kD$lC(?HL4`oEWhPgYY3A5Nzb8zZP!fgx>7iuRd_b&vBhx1} zVv5GK(7(}~usb&=YgCcEjWalSbLZ9|KZ5C~oAouP@p<`&K&`TX{QhabYQ~!8*=%w| zbZyPV>Kdj`>F*hAa0bZ@Z=bPkEA0W{ZTNY}kgSVW%rvUQyjTnu3@4)G6m8DqUgC#8 zdzz`mO(ME~*0`sarn|h{#%OOfB%=zp)$KXh#*Q1uLF90*B2R^r&&RU^@nWp=`^}e) zc2$&Vu(XGInq^pe006_q5qOurv9rk;LgFu3Zr-zk!OL81RFG92XQPj$LF~*qrFJO$ zM-(T-&wPp^D|IgDL4lddMkqrR*$7g(in$;(LNk!Mp+LSoLI@)BwvApr4xx1xTFrht zjhStoM5@qXsuz(g4lwUe<|Dp_c@c~t=PKkMeMECb_RlIB{&&))PJ=VI+@Iso0b` z8;qBB>uy!|E~0 zU1Q_@MmEmFMx4x4XW{#?J2Y5nIw#6$C6>g+>+2p&d;sZn>_+74vG4?d#;&|ZI0l?++8(|;E03e z8EhQbd`6J7y07TKPjo{ej<%L4MA}9IE01G}BztYMV~0~`ePb4$hos>}Ha{&%K8CIY z#EeBi5WWd9lM@|?LkrM#E?TqTjh1xc!Y%$X?7@(vuF5qpuQO|^pm9F5p-tgS3GlZj z%Zqh&P7;R+W_+iCJ&(Zo0O8}i{b0u$E2LaBOMHvSbOzER^8h7GOJta!sS?ku=LlSf ziQbA$Vhj81U47n@^B=nwplhR}v%-5+yOvqclajn(8P4yI9;5mHvTL?fpLbclDm@se z!Frfkz)hwUZ^{CVeu)69&SOA?yP<3Qi&K4XHbwbXWbMCJ*<|pX%LTbNe7QKA_sN$M zpscU(-BJ_XFR$I>R*7&p2`(N>D7|ef$~Oepj*^VceSaiV37rzHi=2N=ez;cOu9>Xl zoOEt)mvBLqDJIcShVvnZM)1>@dl#+`%%RbX4C*+Edw8+?ErX~MElBguYFclfOD7;E zXKL>kAmlAxKr*?#vC)wz5?D;=T{v*1`nJ=MsC&fMh;-?0_|Rh|xb2FR=BHdL{7eT> zOr5yx!w$Abr*rcuP9l<4IPk=8+t9k)D_CXd+nZi&G8SI9)_;|XB~pPtWvYMX-=Oe9yjLTu=V`IQD|KyS?E$_|cw_TM2L&OH#fsq4F3Nlu=tMo;pDGYvuKL#a1NAn6&XJ1vcqg*8z|>tK;kgvI640-MT%6sx zkkQ^2G`RgkDnsZ6X%K+cA!OXx1>XHN$a7CZ16RVmEJ7bk8{grB?VYgh?3Cf0>qHr>`|+phZljUa?!zhbpf8FFd7h!ck1Thr(*i5}po7xuMI6=F z9Q1N;@kM11ve)JJaM5!&1Q)2gu(0VV`0Jq)MEYLGVt36{+mda YKlp#tz`}%`@~ literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.7.5-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..8dffa58b18d764d08a61babc211df8e0d9661024 GIT binary patch literal 2278 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.7.6-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..9ca5e9720e40c18a6c02ef193f9708efdb601022 GIT binary patch literal 2278 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.8.0-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..6678ae4ed737f79c018c2e7542c0eedf8ae69bdb GIT binary patch literal 2520 zcmbuBS3Dbv0>+adq$#RIjh3RQ5m9@qUDen$wIX(qM2J~x^eBf~Jx0_DT9k^>6g3WN zRn6k4z13c=m2&EybKmdN{l16)?|b>4|K=tPjM@MYfDN$ic4nKqcJcTZ3jlCU9RSb( z003@;U@xq%J3JUm@`97x{qY$8P`E1r?}jB|33#}yjDn1!OaQ?b?H=Ms@F$@${;pow zAa@z>00JJu$OLc%0HOc@&G>jv`Ez+<;mBZ}I%{qh9xK`^5SwJlrzKtmZBpWFCK`YW zY4l`Uh;iHfSXzSxUB__6MH?cCmK`sU}{nAKtfn^Bn3^i0qL$q$VOQI{&y14_PG zpR~5{KV!{}+p5>w3LHO$U0@y@WPh?N%fG|9E|I|f*bJ@NtYu*3d}9w*thMOP(KldJ z3q5!ybL$I$esft%^=`9w5i}aN%@KWagRu-yD`s7DnN4p#INcAOY9g<$h{bH0Dk^D4 z;F{yw$0|R`yr5v&E3FlAVU3CFAvL@znfyA`8UE#Jy20zWlyGiYPIZB{^?Zzu)8Wc3 zEp8LKA86QG%xMP1#0=(OX4*kedP5j`tnG;$!j$FA{mc^3C0l@Hsw!**&?o(}OPR z4iK`zgm;M`j7Ls|6dJfmU2wh~rzyVVo;QrhO~`=`4HE5kywhhKhJ2rwB^@TldDT(w zEGacQ*cLuPEAv*K(di;?>a%V7`O-RcV;D}??vT4DKR&@H2rU4UprTJlU_9?0Hz2Bp zShF!|Ogx}hPuuNler?HbkKkHlH{Bc1VDxcNbz#78M++lfq zaw^+`p)xWvG0fCE-qWbHc3aGngSI+d951#i#k4^)ms(?{*L*f*=UQt;jfR6uB)UcI zW9j;CuV`w&J01l4#UvQV0`Gw%Y@Ct}IQ=5~+D}*5!<;|@;7DnOgU1t)@#0%cvZ04} zV!S{cXSkNigy2h9ArY;I_CvBaqqJm)w3>*x_|4@Qp*+bQu`$T|({xPRZ_M#0l7Fip zt;nG_l-Xt^;D6W*!|!SL;?<$5=VSF{YDc&k;r0&5NwZ#5pMJVc+weugZLn2We6SL*H|(9enqJEXTx)Q&8Y8I^4k%)C#f;3QNxsY;qEdkZ#B=c3T=1Naih%m`8xkR@<5lp(y2EP-?KOCU5GS)OV z0{*PgFxpLw=w+D4t^@g`1Fy-+KFL<)?^T-{7?dbo3e`e^D6Z`Qvn*ya+?9EBHIgP5~z(@ z_1*KxpNNlfNz-`i9sYf(h^Xe6cTmS8=Ayzcm;SNUcpf3#E&AO+w0sij5mi61RsSK= zcmR1Et`<>ISF6+H!JSdOGW*(L(6mHyvM9C32XR}V9p2ChUIc~T>2%G#4t&hKrhU(+ z=s6ZN+NIbZzB0Z15HWng!D#Y~p7yb@SFW%2xnCN)R9pQnZQ zacDbfAe$=x>^x}i$I4WBUm%#KviXz{wAlvaE;k%7GkVSYOvK7R=V^NKAX{)~`nA5g zeGSzYWenV&4pNN=cFwGm)hq&fYd}@s`c#KRZJV_lo(@OZf`BSpRk@)#Qy7N zIMhK&r^~TBNMC_$TPMd3b79vI!p-M%r`tT#OThjhX>`4R4&QPJidEntpP10+?DhwK zZ3jXPmo{!XYil;tzOkMmn*D8mZ%kMF_}68Y3UN+YO3rd?ig3SAQtmD3)eOu_ET2`m@hJ9#~5~Y#iedjrh}EC*h{p5OVB0T%K^vfXpBNAqo;K! zS0y=^FDdZZOxcU*roYek$k@gg4)53XqVz;OdP==uMj_T$$j90&9lPu{n8s$;EKLa`3xXF5o;ECBjyjbgP0hJAnXFzW>%Tb< z*eg;h!+#-tsi?0kg)^sQSnTLJ;QF?Grd5OsPaEB$)2YpZ6JOPJb*hhFm*`~V8i-f2 zIz>|I5sH)41=|>&qGZ0azB4WPiz#Wl2#T^r(RRi8QHiUaEn@@==Udd>OJ?h&WCbF` wZ>@ac;&fs6)Z7FJ(q{PIX7!I;{Wnp-fARl#mbnQN_}>rUKlT2HD9FF-KfczbkpKVy literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.8.1-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..741700218dc69a184b830aff4b3206f3256fa538 GIT binary patch literal 2524 zcmbu>XCTxM0|)S*JxbOYq3ei4_B=Ct`*$+4#TjSa-w~Z%cMgS;^tY13DVuDeGds>a z3S}f)NJd0>`akcVSI_tR;`{FV`eS85N3R3W0+)bI#EJcSm17qz3jpwG0)Q3(00>ls zA2QHeCIT7eCllt44!(oN$atZG5y&tkDp*EdR#{d>HWU@;?tSlX6gtfP4%*8P8SX9X zABqZQp=SVG0U#a#w3Cv2m3}LQ5U9hAnrwN!!AP-p;Dl6bfg9r07v8FJw}lwd66$}Y z*|V6D%+p48+BZNW{M+?6jF#G$c+&GUt{L6i% z%AmHo-)nl_WKARGj$v?&l?wi0TSx{v$XHNcVa_{^l7i_mN~ z)1?~@2G_Q-&@6pzB^(y3T+Dk}!Yw*{Q*5H0hm0O$X|E=hmaLNbnvRcA`9$<(yfivt z3gV935@>z3wV1*ekPtMvy!EC`7pyQMG2IEx88$YOn54 zxh;&^UfbN#e>85ItNulR2zIdWhtulsI3mI|lA(1l3+aot_AFC8Jde9A3RZ0EU>4Z+f4aGfvajl zw)K?ABFXEWb!&Qi#X-fA27b)57$>dsV;%f44hW&ks)qR<)C7^7UawIqONdb@LM z2+K$Ft7=@RFcXBnPMR2q98xsR$_Y0SfoOAqTH(4u;rrNtc&Pd4Kji-XI9s7s!}nh1 z9L+MED6x%vDo=ryh~EbZ)_h+xd7Fv*ys^_Fn2i_c!6BBGTV2P}6DQ0@-(Oe%iRQraQ&vu=M%vshPJ(`oF@tvi`h?31{eXU6f ze%2%~{$;gydd|t;4;&vcQ|JkF@PDjuF!NwpJyO=Dsi|lwSazWy5+7X?l zj>}Jm9787yO@g^6Sa{!ebY4=yuDx)Y+gapA_e3jE^ZsdWxbz@B)A-ivjNn3rQG$u( zS8rwnR_2p*+|2`^rLM-O1$6I|_ABg&=UHMV$V#cVfg{UyISt!fkss65eB|WUD7AR1 zYC&=y;!O4&4gTOOQN1woP>voZ_a-Kq#_==zZYlSiAdnk+6}cGH)~UD>Vmm$=m3_!C zJ0GtYeIli1mfTk8Wf5?%65WmW3O!&X^{3u#_nUJ{f$7~%pgMh)fZco%X>KEEwRp;B zJA(sd2=%K-aVvJaAq)o)ToOiiI4gA64w(w|*7YU^7lr8e-^3X={(2dn%nCQKI)7JS zZT1tuD0Vj(h=|^N&oUpmi$Ta`n7gtmq}qPyAkxsSHB!z3j}W5$+oMc4gtA0xi%b!iH| z1<6AYX=5WNdz{x|1k?(%4o|d-2Mk-cmxw1-(m&VzES;_UxrD#|eks<9dkgQCBC?87 zFJ@Am^5@mee8wou6J7Ua#F)Sz51b(_4a%~`j0xNjUI~1}ech&`A&hsgK$lBMwKHX{ z#5wuGc~!wr-LbuvjnQQ;b@LQ0141dR{PY(%-*ozkw_P)62AY>M+?KxgI@%_PypSCq zwf2UC&5K&D;SUE3Pe$Dg5NDbU$lsw)%||g3;)wpZRG!35gOTG7W&w)X;y2-u&+?ew zmwrW}r4?t8G{=XFn=HQ-6uqVFD{+!geDdi?m6|?!KfP$TfKuZ%^;=o^#$Y0uOjGhe z&Q8$->EM~u94ZtfJ4S;1Aoj8wFs!=_f|1{TG3QWcZ|m(vh1e_MGJccj=`*l8*5tK@ zcA*$JaOzsBh(#4<@2J;x^`0q{qAs^347bx>o-)qhh;%$uX#J$yfdt$rpr*}A!AX%> z{Ay793SID5Q8yw>?>-Zc)MW z>|K`}GpWscD;9(MRC~G(>vZwG^+O4YOPH53x1REBEd})z-W|?6XtK+y@rm7tN%ePx z=amUy*W%O>Bas!YkFVq&=CgWEvd*e1a97X_Cr&*Nfmub6uLdA?jghL03T7guPX@_U zSDjLwgb;ZM_S;3$!h<;A>G)qw!4Fk AtN;K2 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.8.10-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..f0374de5e4034fc55ac76e186943c485e23b293b GIT binary patch literal 2600 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 UuxoVxeo+0Y=dUgJB|!lA59TfY@c;k- literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.8.12-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..b521aee14f584b50c54508f0dba38d4d37f06e3d GIT binary patch literal 2600 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.8.14-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..1d8321ce9c9e6d1292bed3c020be0cc95077eced GIT binary patch literal 2593 zcmbu>S0Eb-0|nsNvx?Hjs$E?cuCkH5l}c9jzma2kd&2_lXOKo+t_=)MY^DEY+dYNaCdu2Cs!nb zj*&98@Ak#S{2zh zbBt4?8QxuA_*P%%DEZDSjnDXfu81zm=|PynmQKf@cgCy3zmL4dr$QzUjn}-ThA`i@ zHv!__Qet`TO%>hG8Mj5~zG}kazE;Zcqeq2c+!fho(nTKpikp_#^Lc(QqNm|tK?3!p zQ(1{6WCA*bLgd$;Y-5@SMYQ^rHERNOr2jF22D#bX1~*3IGQn!=x2Spx@=>@2)%96V&)>8Ck>hI8oGkTYfVKLol&Cj#YJqsCW3Qg7 zRp{RE%5H+ya*JVSu6liSH=hKxH ztAgd!J-3g@;HxvlVlrA;pb_X=RcDyN{ve_>CuM2tS8YoHa8&w4T|m_X>TerknR6mo zQ?=xMg;HCcl@;*yuo&EXW-)OObojih*f@L6%*Sxt;JdCd>=|nrapacConPTa`glhc znAw3dGCi4BJIfEQ1n%!|jL8&?cP$dWP57B$C4Pa67U;{#R<5)NJPqG7U4CP(!*gw| z9<;Tg^+_D8Dew!O?ocU_qO0LSUVPhg>38QT3>fB7&X?zy#`CitSp7pXVCR?v3Z8n* z!mnh6gM|zve=uTt;IBWOsLaK{Y@Wjx-DDtq%~q@_^^UWx$zFH-z}YbMF^5gV+ROQk z?aREFlbiKla^61VKxT^i{8jVOZhh62ngP2YL@g3^MJv&MbAw4)PW5=`yjLsKAR;e! z+j=D&Qqg}7%1DRp*pV#W1|fxtxRDH}zEYf4(gi|+DXPI zg?7uz<-C9RQ*Ne6Tnc_dczFz2*)2$C4Zn4vsU4Ryl~CcHCfQ{+=D6#H6SiAm-u&IM z9B&N)aXWm*2@Px<->4Y&;GT<5yM=%L5kB$i}sl{zQa=_|{L zddMh6uTHpkHAEk>be#RzY}$B@wXuQWTLxWd$DmpH)Vl_!SXqE`zMG85_;(h0%2r9g zP0o>_&;f<8%_@iC48mm0*d%0h>tf@XsU??x?3Ub9T;`incOC=h-K5Ge;ZUDpd(?(F zCx#S>k8D|H!Li9{$rZKE4E9=?FaQ(ENGE~=Anr-cQrzu%y}W~kq_HY zUfxSgIaL@Uc~5l6M&tPhuiQi1Z%W&8u6)AGVd8I6M5-e;q*O@`qDIX8o&{crsjSv{ z0aZfbvPFvNE?nE-p?QHH8_Q9ZELY*LK-h785I9A$nt5~+pEd3se?OU$EaAnQCgyiu zHlx=zXyAZhzrJ=@FIq>Df`RFWaJBPYwe)!qKR*W>{?(}`wxNrVddy!q=^wwJ+4>J8 zA0d{f`d%8VlotJRf}zPWX_U9QaOfx8&#o~#K`6>LD=k=D1Q$jbH$;!!-pxuZBPW#^ znTuv+@}5*&BPc99k%+*@c3CJ5YYNZ;GFU39>iDO8;|?%`56jlDM_J=(!P6zd zb~B;;=XE7e{XKi8eumeDe6;riHWo_xe(0Y_(1NB(?6XPtpQSQ=etR*jJf!P4ICbrB z6wO@Gw7Ade9*$%zMUiLuQMAWmP12R}lu%_$Mk~1SDYqj=%7Qzpju0Gq&XZRh94B0P z4*BTeNuJFsg(7B=v#23PrSSeiRp{aHeYK_s}Uc5fBtF03(sZa6UAK<2m-w(7ZAr z<{H3yu}FJTaFKSveaKz(1^$lK+BI{}SEi~?V6kGFMrX398NHSQ?3(;S49@dDaYzn_ z-j&XhvMspL$&=7^?3kwD;P{%$l&*oE-R!vXs=7=ay-~t@OZ%m8LaDtt34a{;w_|B= zW$kf;f21q&_0QiktUqc&d%q&T(oj&lbUM6N3GMUN3%rP1S4Y3bh~3wUN;pj4_;y!T zhJrWq(4Egt(<*URO^_a=n8u9(b3%q3G5V`|m5_G*kAI1KpKFd8=r5)i zm#pURET&z5Agd<;n3ijVe~V@ZS$k54q@8_4L-#9DW#4*D#`c?`odoz?8tk1Z& zI8J8M&7=xHtj-sOM(l8h5>_+L3K>hOdD$9vn6-PTKXnFT^2MxUAD>TIhaj7eFJ(AN zTEA15(BYmw-Awm59UMWu4pjJpUB0F@GLY_-BbIv0+I|nXn^c@Z@^IqMUMR5S1hTMX z$BUA6l(u4Tbws!J`Ph7{HN-Lh7Ng#wZwvhE-Vp}IQ3f5iV^2%7?JW2`xTfJtQ>((4 z=QS0Eb-0|nq1v8f#tL8+Nsic(wpTQzEr+D&Xi2tn*?UVGJO5hK(nikjD+wMt7{ zYOjh_qhglZ`@jEB|2Yrm?L2>mx@6?408#)0U>|X19?ZuUq(Kb;6e|J%N&o-=;f-;1 z^K^n>+|aHNw39E=(KiSJ_eLVz&~DyHh$K`7Dhu`V_Oy2j^zrsZ+dKNgUEKnlpzeO& zNNRE*z!m_A005NZ<6We$rBTHnCz}=NUkxJNgt~cSl8w1kgzIQK9c4Lj4f->QB5 zw%K&E3>IQ3@CKKxpAIa4Di=KT^^g4ix@7Wk4Oj>QZd<3x#x>IJ>sc|NyZTkH^L{q4 z6|?7~LaHAn-g`Y2T55%0$Suw21|rrpI<|P6YRR-Z`CyM?p6qFV^jfn&bFHN}dOISl zK2r^D%Zpm2@?zMs70$)$O$u}p-grBKZ{-B0U(7|%F=z;9~Lj-U91yj2Rb_{*T1g`Y;r3JX3lS%2k<6^Yq zIrDfH#!jjx?3{a;-$i zz3nhYJnJloF0beykRZ1md9BdWc`vQf(*m(y<@fDC$KRJ4aZZT|5oPf_7fH_jPpCTi zSge!xUxI4AnOOOa92e@`wf7dGc=gS&e!OeVOEFZ+IxAdXX^z!BLozFn>OxHhz4AT4 zbUAjTU_XD*c_~=XoZ^n^8MMK!tjevy`)|2xr0_SJqRPSh;=qtmMhF>_1P)tZMH!yNK#$A+99%1^PP{S=kH=nhVG&_l{dp{8H4I_6wWLNoYz`ro!4h94 zB&yUq7qijT&A9WlTZ-GCaP}tMIrEubP~rw>ICdzPUTpabU2G$S)Xj$hrd7ye+&uBIDZpkJa-gd% zFm~#`O}yOCmH%_k_$Ee{F}msa=FpWpj_-#-i{iqa9j*Xq*YXwkvYAHqNTX4zJ~q;G zZgR%VL^6L=7B9Jn*VdL$gYGXXnt6f5fQNb6zAJ^@HL%25YCmx4 zT`5iaPjvZj8ZIZhng+kAF$+sC%TBNuU}56*3x7&IcYI|}+0{Jj%0__CD^kT3(Kf%$ z0Uhx_=-r^MU$~965lbjP$R@reZWB5SB?g(AyJi~l2T|1 zF|>var{))6XhXrE+12mZJ>LrL^_180oI+HG&qk$ZOPpz!m^QP2kj$F^+rD*;2073M zL>NWcn}TG?=E^z}mFzqT)RvwrNN!u@95dS?0MJXW5dL&l!F493;Nh4~hwNBR1GrAF zGBEPp_R$E7KoZW9h_Yg+KJk4O?(CAH_{*cegbMHBBIzZbKVWzb-rP1epED$cXl_Nv z_n1OTjJA!24_~0DDj=v6)`7@(_O*FVM5CDdNr!}0Ym-WtHcWA_*1r&7g{pq z$zFN8^87Ah%UjhxrewuOo0^EVdjPBE;B=y?=A(AVD;{?^0!B*ME7CJ{+kKGaZoUC@0naU<>tvTeC>LK-n4-& z9ZrKPf{H({EM_(&xF)7WZUizgxt?WGq+-<`rDRTs;W!yIA%IwJ>WJYR^e1j3n{h|A zY4|b9A^?qU+Ze?36os=hm$wfWG>6TdyHrDd=?z*EwdTy`_q)`;!lszFX77WuJNzWI zf_DGPzJ@J)D^L!!+ohSi_=IADmI%f*s(eXyB%Yr#XHuP|p07vo7#j*h`rPf;!TYko zhF@%2yAu|LE^yDZ`z9QV3@SZC^rb?g*7tvX7w1PKpV0ds%|@&yD~O-)YjAyaF!yvN z3i=dJ<(3{KfT3l4e7eM5yaBk91MR75aqbtK`txVlkCiPnd7IRVy|D;=bBVZ~+X%9- zT(q|!Jcg6P=7}E?g<9^Xvey6Q4vHPPO1}%gkQb=;znkHqgW<|p6k>gF-I-hDDmDMQ z_6Oa3Bbtn-;^-)oKmScXObeW$^5qjDfKU?PIJ)ps;Ha>2r0ZSG>`h+OkgA{kYVG8ND;MJ6)W4p>tUU*(bk6P~b^JMLhh0>FlV+RG< z`VeLizRPZFBwu-5f<@%xX<5!FV~EHjFSkEv<5H<9$_`TR_^85%4kZWJ-SM$#zKB@5 z=tKk`IZa}RyoGR`@QgcWnRE1YGhp}w%_t4`h4-$y#=MI~lx@d!tE?a7M7Nmm)TS0LMq0tWDZ#B9t8wTjxUeF#F8#yIw_a%zu=84aq`-n*r!y=Sf3$KEqWiYm4D z9!Je0ZqI$cPxt#CzPIoBr=t!glmiF=N?_mS+EC^3_XQ3z02q@2fTsWe*q}X8_D;5f zp7!o2L3dk>izUWO&>HPxWAAQ{b`ca25*LCAxuKoRZQr`0G4AG;7;BXM8(Sd-UYjiwEz=u6HaX1TTBr5K=jz&+hy#G|e|F6{;Hy zHVP0vMjRD6v6}HjMcR_y{WHR8Jyo%UBT5J#8*9@lWjdz8W{gvDulmZ22KI^3wBab^ zY3-^&6rt#zR@XgWpB(Lwp;JIh5s2B~PU5M$7vb=owmV*Ta!8g5tcx!`Y~z!M2S$GH z<=lu&f@?D`yn>*TIoP{RnEcI;&1Oyy!?fQ?;Ae?&M`;dWxYe)HJ4ZqOyb0aJ7t1ms zzL#<(!p65HCzM+ey8&Fye^P7Q4y-5Qpr|_1fe!Gctk>If*-pe;s~A#2(Y{Ak?}Q8{ zsjO;zJ%n?~U&QaDm^FHdo1}9{FEtY%i&hk&3r(i1ay1!Q36jIZSL##ao9Ixs=HNO^ zUXMgk#AZzdbw~{mFA1+%+~2VnCn<&S+di5e<=25qU!Dqe9Nc|cvi_8H!k@wFl#c&V z@JwJ^3-M%d@-A5w#`bWAzx6de6SwXGT@xqic~;&v)dM>P%mJ@%2HkLBfnvLMH;wgX zwmR_PZ)Vk2K|vnXdPt>SIN>tyx`qd;zq?@06|CW<$USOec48EjL=!gD^L%*AU$U+NGS&XJ6o)B!$_h$2(C| zCbXT5yP#+Bk?sUl@SPa(4MFA@spM4ggT`pYiz{P`XfHio>-1b5%Qvn8wUvcU zh?*wpMy=+-`}M>2KKwX!|1xUI5PtRmClEeUlUetI47#0ace7TY4Vxs7Vo0`u*7^zeM9`lTrQ7ub&j4h|)Ua zKstS;Y9nmL`I&<2^L2s9KWK8Q&aPMD8=iXd42X=yk%eh7w1~APt4%{AaH^c!ROw|B zT`402xP(&uTlzBr4;+rtbuuO8p4M8AV!uV1(H20 zf{3r7CyDLMHbx8#ZG(q~xu5v9TYMvt8x(nT$BS6Qjktu=B+$I!PC@K`|kd=G7f zwQ3SRZ}nW=dY*6yX%|*UvnA1MHOr9X>ghNRuIiq}2d9osw!CbD{lkcq#j~gVx?(M0 zAf!BGjjAId_YQsZmuspdS!_b+!FWLcyNd9ap=vK-#vQsK0{ zaY5s-WU0PBakS@(*hmFAMIqWysn@zT{$kHb$II7J_g5p?EvThwahRQyr16?$p}%Ig zJYW&>awtq89kLR8XSloaduY%K;EYBWeB#B_jy?y@Sm#i4B6E->* zI{QuqI<&;U+(UIg@0iTrFDf$!kv!g=eoI@G^L3+tiq&P5`3S~StxORXWhhRPFz~S^ z`uXV*8<&a)Cq7DBW7cgNvy^N>Fl0~0(r_D<3YD9gaIwsiywPoWL`}d-ZtFHND0wlo z$5HtK7Jj-O65d)hJ#I2m)RzlIAC|5sIUjEDF5o@IqLe9KxxCNt&RDw+ZR>uVFoHc^ zJsD)tS|LyZZ~CE3$(HY$Hw~*j*n8op*^YinEWY2|Oj{pX*^MSvF#DiALO-wXH6F!% z&#R2>Ry@4O_}k{G8HW+$yjB?u!l3J^fdJpgJ{|t@=M~$X$>A54?8Uj{eZSUYQcLP& zDZB1g0J{{;Ld_WSGh&6CO<4$Fmp9j&q8>7Wf{Y=}a97c0_mvBx3=p^GZBg!7M?O}% z&;n`EchkVO)Ki}QgJ9+wULxWp6YBNV_l-(r@z2d@YeoCrMy~t%3UvwbG%lsxrxl3@ zdHBzH1G(RX+EsDDouUd@+!gU_WoFc>e+Q5M#)|0Fmmc(h7c!qiP;L)A2!c$dy*W|d z73twnvpPvPa_J$;?WaX|Md$`UO`Y1T9VBE;jX>mW=oA)PR#>NC4LyG4`NTOcj>?&# z?;28HLx&vW8-~j|9NLcZH_R|>WC!^4NuU6fd z&s*D)Lz;)vUj3q|n1Rd9os=^tsZ}$`xfPMs&W2Tk{(*fs;+Hl_`r}<1T?+c-LKMPU zy22M|R=j^GwhIJa78GWB4TXz&HCJtjll|pu$unSNA1EIn@z=)s8e&yJ8iM@e{Qg2E z$+`T8$!P`75XC6U#)j+WANYy_>hqtWCCZf7)Y5_mEmpZpcOV=+prZ~VkOTj3ef8KMC|N8;@U5DT6^V@g;@E@*g)8GIA literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.8.3-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..b6bfc5397abcd6edc8570d20aa8ab7146c55d730 GIT binary patch literal 2557 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.8.4-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..9f06e359347ef1ac45d541808591e650ff206df2 GIT binary patch literal 2580 zcmbuBS0Eb-1BGL@F?(%_s!_zgRH|x}#t!PXqH6CbV#cZ#HA1W!sZFRFtqRTMS}|%< zK?xP3si0yPHOt@ozyDAFIS=34c{wkir6~iW4uBrO0oZUmwZ>Xz#NGx109%>>z#RYp z;D!kGg8R5Dgu;Wp6oTCY{hR~C6~9O&u= zN4hI|2O<1`j7$J~03aFw&_ba+RnJrduoI(=n(T$WesHM{(fCv=A#Le8)>d`ywg3n{ z7Jr;(4K(gFNh9vG(|CviTX<~)ssQX!J&#d9dJ}D7Gkx@Q%}HJ1sHa`;R%yKU#j``G zeQ(%_!x6tV?Aaf#^MTbG5HC;1wEZ3G}J#F{R9y zeO-QlWYLW{x7FuY}IWu-PR^ z@%Y{*u<~?h7*1oBq{Q<<)5y5aoJ-9iIBGm_!YtyVbXUFT728OfS2J~$F{3VHs6L(jtb&0bvd05GqLt*|2OtH@H!dQ;Ud znw(Mk(6@Q?S}~_-19Ls87{>B8=j3lMdHoHyr}q{;O!%tFdWRL`Bb(w>^n5I%Cd>n} zpdZqp4IFmBat#PpTLqG=TozRl%@*M;a;2XiH+>hCNK`JF#p&)rbuy-6dEphqX9vN!?bHJ~L zAttNfG@;isno*aZzS^ldk*SNor_Vklq;NwwO0}kA8iWJr41RvyeXB_D3XU7eJ(xKVxuM-Dm7as#f5i{ttLR(P z3mV!e2OlZ%5fBer*;ry?qR?dMe ztVYL9Op5yn`l!3%h*885kJU(g<9za6NS*dvEKcf|5)jK&jD%|Oa4&XT@^HX4v&0nDsWd~Q+<$G z<|76oCEfikRp6G@969iKolFp3nIzoGMxPjsy^jGwDso1uq3coE3dXc&mS$ zlT)_;{DJ=ycwXrCJyEW`wOQvHFm(H$H1<)95itwJ2^Pg?%Gh3K^~~w9Gt6p5E$8lh zJI2ZMn@uOE2+I>4n}s0p_DU9Or^Oh;mL|F|nwsSw?OEiVj`T7z5TZe37kKLI3j$-a z?f!}U=fNb~!?xolp6^^`_yd)y6lCAuJfcUO+zl5CxrRYEi`N$1@$dXj={?2D9y4ar zCCct+FZ+7H8rhD5(mT)y@mX*lc6LJIRlEEnz{xV}-|_3KT1y*O(vnyvD7`!}Rz3)Y z8IJ7~wQzvXVMbk^TFqVMxS96ZGP3G`Nr%e~GiMJvWxn)0E^+h*P#1XTb2@8J_I0o{`%ZoJC#z@W^*@wU z;&@yp2%vp7Ikp`3XvZ{%eMB)aF74Y#Pdhws)=-6*-5ks4}vivmfk;y&F%N zNYeC0)H+MQf;|*FU+;yQcP+x~i|q`Efpb@%TDLQ?6Ag_2dtD z*@{d_u%q(jA#Xm+*!+g;+D4FPSK^*&aN7XhWY+{U-AN67u;V&aAe8N=;@EamnR#pO z9m(~>dkxeL7Fk=?61ZG6WBqsZT0eEl@TQrZa1{tF%71WcTCCKWdK-r4i3~H>8MK%k z8|k|kxGHD6n5;Jn$TfFy`XbPpmQdFJL7n6-STe3#u_g`yKNv^I=Ez-3E+3qabqYU8 z=a1KeK6GFGshg>FAq%AkSenw&>oELpEBh^G|4lUAzxaO~&C-;K`QHt?-}U~@?BDJO G0Q?7sQsa97 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.8.5-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..f5bcfc422d9941a7a952b5494b543c1cdc933795 GIT binary patch literal 2578 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 F{0B3P(1QQ~ literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.8.7-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..d71ddc4feabf546548f3c2a7978a72da0948b0e1 GIT binary patch literal 2584 zcmbu>S3Dbv0tWEd#3(}T+O*VGyP;_)vDH525o$F^qo}>pW0a~|A@-<|7_~`$MvU5} z)U2val-4YDd+z&vy5INky?xJrGeatBZ2%>J1+WMIWgWbgl>lY{08TUk04)Fj0QU>> z^zwC=3GzaD%Ankl2v=l?jGG?D$CxJedg!u>>ljzheSEMBHcW_p1aF> zKl4K{P}2Y$0e~m~;657tMCno~plE8WS(6#lkMI&F+=@@J-~~(K7&}xzodLR(MNQ|a z)(i$jSnBxqt{skXZgLY??;E#`T|I|>z^j&><^5M!pw|Tantr6ytQ7a#Ph8q&d0VUR(RGVFhDxph0JfP;E140hslOJbV$rcMiDwl zPvgC)tmwq*cq@)jx`x_fs!)tWIaQy+KmTs(O_-lNPoD@NDV^mX6@ztJ{ zMFion_2VL1zx={2KPIoX%ms#VddNyr54W~4^r$Y&6;GcR$Weaw2qYquGOx+$bsBBrN5W z2;J}qa=xc%b%6_Nn_-8t4tWBRweN-J8dRo?i3?!M<6KjNe8uboS09VE3I}p`*#$G= zH~T)lS?7>9dHbEJ#nI-zY-XC#NAEVhg^jAs1`-lQauyo?YjUoR=oIbXBf zp^iUHx~XyEma#u*T}6D667i{WV??K3)X{US!8&{6A~?awJ8&9e`nYr?Y(NP=ayteHA@DLJsBwPB5YYG}d`o#l%&Gi1I6e|~wYIa6LtxkYhF=JR zWrs3F!DK&Fu1#>2z?&f_-KhK387uOelzdfmx$-Op#IxQXI9`6LVshH%-f2u}&{UKx z&~6pSHuO-ty|1|KNy-Ncr;lsKAHj(j_=hD9J=T^QNClF!xOE_t&vG12@o36_)oC%! z6(m*pjt2q#K3bzTKCJqc(z1Ovt!vRBT}bg$`g@Ch@ul>2mzTQfB+U`lQ$UC-4f5GY z%=%*Jk5-?D;5L%WG;(aENX0yiWQL3o#m*p>W;kY&Mq|)GWEbtg@Eb+Ty$(@T8Ij$p zNYJ7>ioUCj1D#=G5|L%fDNVCbbN1mg&c~!a!D!z$`npyshQ@VZMlD1N0NX_QfL?nZ z#Nq5(-d4`;Yf#)y!)r>_mT7%Vlpj}~osg=kGYu#8sVfL5yw>s!nmCROS1aazQ8EY5 zx%6ZiwikQQ2jQPw>IA8O$#@6rl)iC?hpLqI=q~){USIn1a_X--~M{C^?QQ| z?~e+Bh&_s0&10MFD(izLJ#4kX|Jb!xCCGRD)(L>D)dlFs*#4fTw5216Tigy)RCl)x z^xxKNY*w@3y}-_sxjLS=e)li4Uu4q9gM}*XmVh!3MTW-xyg;F|4;Li*tFR(j>Tgu5 zfQ_$wxj2*KcjQ^D!vnK?Zg0or@?-JOglMDrK5KpZdTM!Ofvmu*HX}wradC_doc18VL8^Q z{c~wep*c#0B-$W(4%^tMF9^N{_9_Zd9_qeyZ#+a)-B{C>=oZuW_+xx6;N0OZ>Zk|9!z?rf z5sPXfqqpqs1o9Y)pH7?(vuvSn#WHp`DC5hTQWeoW-|URJv7IK4xD3{>2`i!1_RQGF zhAS()vm%P&#k6EMt5N$4{{nM@v6UI5kK>jT%`|u*aj89%pUm!&ir#WLgNlH3?p$Dq z?dWI6Cga6q`V)Ag1n3s>mRT+6@QwLPU~>*aafr@7Hq>H)lm&AL+itne^62Y& zeh=c4u%ZYNVR4#BHL=+svBXLmb*eiy_Tzd37lUSTWwZD zKO7F;J!ToY0XCTtyloUKFW@;sz-R~GY?f?K!kPxD(!P#E#gZRjT$>X~$_;w@e2Sy# zM@x8ReE>MsFJtHWX}=P{%#eaoo9chd><`ZVn<$EZ=l^kiuW4|M(98 F_z&6a)zSa} literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.8.8-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..2a85d52585dccbd01808f35cc41a30ab49046649 GIT binary patch literal 2589 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 L-!1%$Kmg!B_Jz;N literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-with-ternary-condition-0.4.5.sol-0.8.9-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..3deb78ef286280c88f71cf29929495b540c49073 GIT binary patch literal 2595 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 X?8DCbAkV*RuD|v9OZ;D-0f2u1@e@9n literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.1-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..7d3ffaa840af207df2e953a16f56a5a3358e24b1 GIT binary patch literal 2295 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 Mzw7oFG62AT03=F6hX4Qo literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.12-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..803ee9f9287a61d15d6d1858e2a632736c075577 GIT binary patch literal 2744 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 TEkWRa-%S71>mTZI{JZ`G1raSs literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.12-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..1c47976a7e0d8049a8c7320da525ce94515b71aa GIT binary patch literal 2574 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 Z_%HrHowP88F#r1o{!`C?sLS^6`VR>4DvSUC literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.14-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..31489b0a256c88661fd0d710b2856d1d1a41ebbd GIT binary patch literal 2577 zcmbW(S0Eb-0|nrSy;TK?RaIIgE$Uh|TC25HRcj}Nm`M>MRke#7tEfGj;u5L|YE^3Q zRa8}taIF|YsCoUp|NH;)pYw2@&iiL>M9-iF00OuGb}pw@mLx}e9aaDUZVUh@0RRA3 zv@bN!9peVYxcH*rzF4R;8ijDjxT8@}xR=*0KeU&lOVD$)FUAq>>+I$p;Bw2u4~=4F zU?bU;er3Z9s2>R_=rG@MX{GNmM&hq8=HiDi%#o*F2anPA$x{kd}m2mO! zUt7P*xZ9ZREPk{fkVNn4k7UG?0*~s;Gxrf$+d!sl!~LZG%6yGbvlBz@HZ{l=JW(IU zXamWNor``@D@aj_9JNAO|84WUz{%2OK)q>hZvEM?VV*kC^y)GnHu3gkrEsd?KMS`g zbI9uktG(I4>~<@sB83`9?GYWcNE%4wrOApOvtehcM6QAa?DTc3l3R{{z{q!tO7M78 zrw$~uvWKrG229c0bg^T!Qi_yht4IWUX8zE~v#g-w5FTk`NrS@7(Va>>L7u;^#<832 zu-e*#TUz&llHa9H_r;<%6eF5|&tiZ=LHKm*cTt0>{sGl6mUi90?C+=hA{H2Tj!Nuf z0*dvjEe%z=_k!15?vDFuB~^3v^&SQGa>CPIVQH1{km5n(NHj{dG$)vCqGA`>c$EQl zqlb&Y33&c2tYAP9xSbe^uj*>|Y8f+FoM3Frw!R%qNvgb;j702BT1T=&CdE_yzsL3R z9D50!DYHI2s486@izVm^AwZpEn0|cy`N{!KjOhDk8MYkPZ@G`V@{0J^=evg7MiAy# zks$-;2cPh8z-Ynb;x^5T|$L*W;ltL`Kblu={@x~ z`Q6{-r`^!&^$ngsW;>PP>`FK_{l>|UQe&=Srz(`NmCP9_a49md)oB!tTx8Zy{-IM-ul1BBmMU7V(7ji^fuRGX>YGj zdB|@ssK*KUm}$4@bbyT?*SGCD7S?(mQlv}+C~jArt-zN0Y0(K9@&>)F7y@v1s<}LC zCVMOmAM2~rQjceVj#=0H%Sd10AiT*pL^JG0)mmNR0>M)WZ-ksxzPudtMAUGILt9oI zW@S#N5hxH@-rydxWURwWjGo4jj8AnQUp##hk)u>A<1p{RsqT(NYHS9wbKhNgcd1FH4#vg=|4^C*?FuhS-aJ2Cz;1D6BcasZquL_A>P9{+<4PyU32W>3 zD{S{7aA2qi^QmKJ%wy^~V&1LkllEyID@3ob@koi98o$R61KGJ(PY1~Qp0t7f1fR>X zlQPp}+d#u&4~u2}rpKr$`8<7N^B~ebx+LR-iWzq*Dk}~>Dz><}1o@V6I#a1AJ!YBV zEAWgfS!Fz`D6Uu(GBhTo%BOqGKB*{0mxoO4GaDsBmne1hC?WNTHFa-wRVvD1&>;XT zNFR>b=_pwIpfanUuFet}ab6~aw1E`ZCyV2T)4!82`+dTXv^@}?fwc22ocyse3@Rd7 zqBy$4OVrH0Vb<`e3+B?J#`njO&rI|dZp7Z_iDJm>kQIGUK>{SyYLK?hB95UFETbQB zP^TsyH$)rn%LO-cKe)>r?8Y)TEG%h%xE8lZNr@wBdN--PlbuV6=N|s}BKnafoLC(k z;qzXz;;BNr%*gSGw^=PRypIQ-1J7vg_MWalb2Pn4pq_8kzS;Qd`RNh#X*S_2)@J8> zv#qD*#vL^7W(b?YL-l5G}M1=^uDB7|niU3pJw zA=`U$YxtMGKQ4#TQ>$FTOPygk4by!XPv(yzOT69ynhu-(`sGgc^E{d$w27)c0Z|xG z46o!dGuJzx%MdNcK6&uGAfl31aajH>lNpgj*6cz-uup7)-^&#H&9Vstql`Qih?KCh z9)dx6V|)ntsGDPp@2f~+`#61wavRvqFm@R++Wyj=JgKM;-l25pR(v5VMVVqj_qLd! zc!<23Pu*EAX=#x+T<~JmPddlkhz_Vl|G#1O+h+ew7~Q|~|1r(nh>_{vH{I_des9Ka I_yGX_0dJV(LI3~& literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.15-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..a4dc509f72a0671ae51576747f37fea78bbbd66c GIT binary patch literal 2743 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 SG_?P&DgGMyH{p!`w*LUq88 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.15-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..410732bbd08853041e3ef16b83e714616246bb59 GIT binary patch literal 2575 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 Iunz$K1LuR`K>z>% literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.16-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..48983a8c0f3571e6eb8aaef7030f03df89a2a435 GIT binary patch literal 2758 zcmbW3X*?4S1IK5E$bE}KQphdLEm;)F9dph-$7UF!ki^g&9b&H8Fp=BHwUQ*~3QMvi zrrbv&bL9E|pZCw3=l6T@{rq11-hXYaSV1NLAb=O(?tkFyFdOT(#|Z!+TmS$a000nx zj8KVzM+K=w`9~mN5w}%*kqAF{6dZ|AfrW;uMj}JK{A0tB5m8>S2;U%hw7+U_Boe_1 zVgq;p07(FV5e5^eb*P0Z8yjsk;3?`uz~x_^d4RP)WqhIjWT%c$7YYI_Yhh+Nb6$IW zJ&U^8y(~->UvDwK$`HTh+9+&^%5GbpS<4J>No!*rPT5PKD3zF6XrNv268N7JIkddGU3>S88)}TDO;Ak8L)NdiIfmL+M*#Ag zaNL%lzXWKUzP$K;e7IImYtW$=&nlN&--%Mb^xjEj9lGxA;U?+TR3~_o_ zLm8iMO29F9%Bx8?C;?>8V(GT{^znI9ZLyy))R(q0h@(j}V^t=eN3d19V}jYqo&R(iRWx zWrnklhlsiBbJ4-1&oeqwH|zIW?=KvcfEbIiMUV7S?*h+F{C!kb(PJm!Oim{o9;7M} zSWenfKC|f&P2b*+7j|_Y&tDp8;OVb4F2_W z9!S*Wzx8DlN6*51uNXv~@cXkD5a`m#96a+-_>v7vt1Uu-xWnOFmMZD3O4ZGyorSOr zq{0lf%mrwHUFYsSgP9v3U5dr!s6M5I{6=!LSp8JJ3GQRS*cN_+xpbUoHY_`pZ^*Q! zT$!JXBqk+Bd$g2>QeXBRY%Rpvd2B2yN5FJF*QJ_GM<@7u7jag{(CY*n#UUxt{nwzx zl=1f7kL{;|{Vmu;BQJk9E&LG!rkR-1s}^fGv`BNURc=F=lj+Y~BkCH$BAT(xEVC#A zw`f&?MY-awu6BjW`xX@>+p?o?kLt`nVa7Kerpeh=->-%{Gb_DKZGL0A8K-3r1}_?| zfBAOmVMxJ9Zy2 zlf4>$(SB52c9S(TA$gsta+CM=$oIV5{95!PaX$B^EQDvFYb~nmQ2W92TMTzyb*mSy zs}q>YFgSKwqv(5oU32eYn;g?Js!CsGgD9%KV1`ag!0NjX2hA0P-_T+Dqr@e5$=3;4 zotBYoIbj)CV1ZP~psT9p_y}p#2GyKU=Y<)tBt*nW(l#@X+j@gO9#sLb70L>XeLI9j zBQ$+;d`ezhUVQYkqwSxE?TQz%xowrK0)mYVyd%mk2Y#GNX{lO&LY((fH&QiBoDWZH zKM+h*;+1h)N~|dl39@jzC;yFO6^BRQh<$3W%TM!%jnL_Xt;8flAzFO~V zUcXM?=fk>a;lLuVMEJno%8l4O9lpYPQLQDS#}^HK6X*}Fxv*v~VLR2Q+izBfXTz(2 znxmilU%q{r20XOZ$nQJ{wPN{jM3~UbXBE>hl$4mVKc}0C0e5F}?twYQxaGOf4uZ2rw0PYCN4oRU}fBY0yi5B?7(S;uGm~6-n8&;m|@3z0_ z^mfcX)Z24vs*|(m683~*nDN57*97#OKNT)g@ zrl8HUNpU7f(4|v(%aFT(ZPQqY!SoJB4}|rAQ?Iv~s2!<99cmyW}#Q;u^sLi1uf8g)eAX0TvZGA~wv1 zUIKe2z;!0@G7`ET5d70uajj(XhZ*�%2jmaZh$S}7_S`(oK9Ts7%R9P}#{ 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 UYm!s^y9WNL%^&9fkw5_8Kc^VwQUCw| literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.17-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..2385c655a36618ecd85614c066889b1444877ed2 GIT binary patch literal 2758 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.18-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..4eb3d347a921728ea59378e10fc9558188f5c4e0 GIT binary patch literal 2768 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 sL*I2xxo;U7X1TAGxy?Bwy-02%cWz#{9GSv$ zkA#=ye4Y9C{=fgf{GaE;@6+?;`Sdf=Ww@jUpa-x4tX)n~UH;w8=F9*4^};Y; zVg%R#01*IyN=(dC*)v(6{E5*9CDxo?3>w-YKu9#-O@nqn@J9SnGW_IPDT3%= z@ibWmAlFazLI@r!UE0q!P&!&&a7xXpXD|-~2H;+pN8ulhfA}OO?Vc4mGJq!SN(5S> zHby;+YpYtE=G!DyV-1aEZ}oN9C6QvBbV7*~BZ<$8$CK5(@KYzl3GAbnKu@4zHLAsE z6Ra}5h@!;N#R)6A#mm+ND5HDWi8M}JT*^HT9)Y_reB?)ZV&BMloHO4O`?!fUhVi(5 zBg|P=4uxIbdJG6d~jfLRVWl5JbKf_jld| zQ%?VIP6^vilQvU?4fl!T5~s$}U1~g=qdi)0_baWCtE5t>mygJ>+FDVsDh_=9y|vT_ z)ICdWchktH95D<~|15V7qv0N3Bmp)l!={D#)gh;1w$lzg=;wW>Y9=3(Kj&022t8vQ zZlfMF?6Soh-&w&$?niroP5W|k51!xJ8P=hc(Z6u^-Wxss;13a4d^yFuTlX^tSLEm& zqsqu-L-ZP$`w5+dDY06qWl_E)X00PU@2L8l?zXQUzB@$Tc ziumxys=QM7iY&rRbw#Z^U&*Bkwl1_j`IT^7v7jwt=j5CdQK=sD06M)@ZWg+~F`|8Q zP_sI$5cdF8MmWfnp$lSKB<}(8mhzd`mP5a>|4~RT8n@kI561Tc-2EZJ|A?oQx1+D2 zy7miZ++ZOh3!p)cCO14Ja)gDLDzI8O6fG@Y^UJF0cs_y*Y4@&bhcu=oW6JOoXb!3qk1kyN%?cefI1Cqi+gYYk8&Q zqjhln(4iobEr+oAN%v-*cd`^gj}hJh`Nbrc{Z^s$8N8@zl6N=DrVX{ zYk;m|eworH&bG&lLpGm-8ul$D@AT4mm)<;`=iL4iZfvHusk0KS33i!7=B%rAb{^cl zk1?9m`^Jpr%bUW51wAC26s$O3B_iNGk(-lFkVMnO(jP+z;c2B4(sMN*9mzHW?HPrZWEk8u>8>7J?T^t!&(9A1K6uDiRe|Xo zRqE_X2`v1YS(Y3r!y)nqj(Q6KcLBMy31&f4w*hVtA-)#UXr>q-){4b;3yMgSZXWN@ zD;8}qyqJEHa&u|8DB|L2$|@Qh#1>9Vx`fEy!Sh6s6f=biGxyS^m-6cS@b`w1mO_ghH0ZCULcTr2tt>SYtg`ah1KWsgevwxrSdC@YKoa9-<<@%m* zmd32=4hzn9nc>2ji0j5Kyo>{HZ%g{(#v3a@+VV(Tk12)AXUmtdqAyM(w^BE+Owmt6 z`4_b4aQ@iT#!5!_b99owwaAFXh%Cbp%Bs*K`5j7Iyt1<6{K@F|>Isqk&vo7x5Qkg6I#p^Ruy znzTI83G9S#)nnRXd)Q9olN)6oB7e`#W;ga4j;ejL#}f!!Rss@Cs5iF$F48pVJ?lQH zxWaEHFl+06*DUn$jes&7mV{8DORG$iSDN?TN2up479J3&crCL%x@xCv)N_%<+q~}z zrYI~?_UIaI#loQA;abVHy~$<%76-MmudL;Al${29zPua9ftU5?XcjNVEdCtn>jX-+ z&Ssb>JWiDpq%16+s7DT1II#n7C)WFZLJESi80IyUFTPHqUa8GO@Avz)E*g#{0+aQ> z=({co#`U80SIA_=@~CZ-X00DHpwxwCrdrFXit{sH_UIiZs85{O1Wn<-aa^5lW&%Pc zqt3UGZDLPT_@ulE)AMpHRftD&iWQklc#tfGXONi#9AG{R@r?p!1E(JaWbxSJtTbj0yX4#j-btfRD~#S| zVR-&i-FQYlRE_5QR?I( z{B5aX>nd$If}unP(BG&DTg$O;%3eJLH4Sup_E+KhoX2(K05YTEyeroDsppf$f^3kY zDQ~~{*`~8OG2-B|NFC2;%D}XBQDy&7|L4W7*GVGjSQ<&U1&I5o^Z{Mi)fZpi5w4%` z{op&F6#ABkS3L#dy__SdnUJ^X@Fknq?d7c9Cdni}$E*?GYj52URJsG%K=be&{93+l z-*?!sa$DQPz_(RMccY0C?rc$leFyRm4mhR2FY+>-gjKD!_(e;eRq{F!=oomDb$1V^6 zwAWoVBTLt)j3_W584SOjN@D4i*!#z(0#XHiVk0qLk(gg}$7@g^K*feLRPWP`C(}wG5l{?`|WH0O$6P) Z`2W<+NSBf6-!wMp$tX-yncNg1<-X=v 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.19-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..7027df2cf2f341d72948db7f6bc6c8ae6937cff6 GIT binary patch literal 2592 zcmbW3S0EdV0)>N!O_W+~ZB;51F&e9O)e0(R5fPdqsWeJeTYK;RcI{EpLF_$>)*eNT zqAtn{ig~PgF2pAj|g7ol^eundKMEgF);R%jNJnAv#Ia>P3GaQxyNDFub z00aO4Y7r4`@@Mj1dEWW-kbEt_GsTbpH9P~83MdX*TV#$xTORjW0i?uqr1XNKY=ZR3l~ScRq>WpG z96;gQB2G#0SOvJ3VWM)h^b3`gR!w8|n#q?CWEB>uKTPTuzw;z5WS|?9Op$zHi&!0W zH>)gbM9nqdR*y6_lNbHk>KLCKfiid%Hw~8@nLi#Y=aW7~nSRIX2Qzsv!O9Vh@HHN_ z$$7+d6jhWk>~XYwg|8~66CAh2Nr*~>vh(uG26-tCbVg<=xSumX#p~DbW)NQ2pP{q1 zpL+ed7+6OQr1ZB|vWNB~dCq;e#a!qmMQTl)dDzk_jqBx7kRGA5x7p;LD4m~fW+PG^Ih*|w^^rZfzW%Wzr<)3v;oAh zu#CJI!_}bcd2|nTvYZ@8=tuD)IoUqY2Igiq(cOloFCuJ5tH0Ra=~rqTbh0#Ser1=O zC8|!9GkBmA{p>SSLHTDF;romSsqm-O9pu_f%)LM8efJ6JWv8C##c8Ip;t(3-KJMBX zMs>uz61c0?-2M0?@yWu9r59m65%!)#TN^})p&w`)lukDgEF&2ffMgB8Y*V+~9ST$A zk`7tj>)dQwPluIq?DaFPA0I30@QZTbKYWonliyh3doC1fnH*Y>(uY)Y=IG>qqw5}F|KrMVU-%Gy2q?Ga+ z&z|*)L(MoEE)n%1%8?(q$MafKEm%TYeBzDsIp@FOE<=kLXW~iRTG3+ee)YV8p)gjB zb?v#0%O@eZZ|*WKTs8&S0`0{VB;&B$?BIxlOd*HklFA!+tkC$!w#p(#3N_I>3$l2#s$4{@bd zP3`T{c2t3Y5nQj1bIL_CUg{x z#{+8xxw($PH`X3NOB}x3+Z^^Vl|dVnlJ|mm!>xlk zhXO^w+rQqiYuxhjcOpZ4>DP@F8-GVm_i=6x$YpWD$&Pe$Q7aMRah%>u&JwY{PZ+w4 z4+bfc5alT8SdVUd>QlaXRvGbk0$1f?Yh^^~Luw;#6o=~hC(Yjebfb-F;%ROr`}7Y3 zuLnz8YOGA%;~&{wqdgTLv;gOF-UlC28n<}(2@KpNWOMS$sZN5VIrZ8o=i!rNYl3|6FbEjuwy<(G`_o9ht0@esC_+ zDX@=EJ@1H_zi*OGU7dNdSe4Orkn031>a0rRFc0+=r3tS;{ZnGJlR0=VFv!|zx$95P z4WWLwYk>ORJo-oZRx_P~a3l#$n zGl$9JIVK*7FQxAwB()w%S^N`X%6U&@!uhVC!aK#debi?9>!CXT?W2Apcd3g3=Jl)h zmy(!;Wvs<)z};Iapbu+lVH0l}wuMm50shx|E3x;po$QT}0?;$pia@bvlQ1Sz44 zOKx*clG=8P_@et}+xpA=Ce8ie;CzZlp_8o3U{O%BETO7z?x(Q5Lk>7VPs4j`yhTLm z%!J6VqYAQi3gxv(G4*TQgJ#hkBUXB!s_TknqkF%BSoKJ^gz6!dvIRDeT-W4>&33v9 zp?)8o$WJqgdoZn$O3wh2eQLCP@U4@pKRW`gRB6>cuJHJ~{b(jL0!SGR65GP5FWc(2 zoBFBJ>24O?HM{J3&uM!z!UL?jDrgNs*jop3YqP5FhE+PQu2Oa4fiv{>GejpFZMqdqTiyu!JdX**G$~xay zGr_@tw!|W9rIL6HQv2)}rzA{jZHU(GaqjkFf|}9<>#;*1h;`L`Y|}B&Ts2KXQeb`P zX8lH=r_e6L0N@&J%tGzn3$6_sReY&kxR!IUL9(~sEI*>UzYvy=cF_%}8{V+K0$xU( zG{xw-;B@`9kGL$MWDCj)m(TDFPm6c^4*abra;gNVW5Hzn^eJDryay|LtjiRqekCp!yH~ YKWl><(t`f8ruti#zbyXifdIh20WZSW8UO$Q literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.2-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..cb484ddd80162bac7c273cea21343a06327b0220 GIT binary patch literal 2280 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.20-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..8412d05cfdafc761b4fbed434ea2c46a05ac5b33 GIT binary patch literal 2596 zcmbW(X&@7f0|xL#o2#57Ean)!CJ7;OBT#z?5>LxA>?~M+__y4Zv!tc94~qs5}-tvC8Rq`8=ayE&~(JwLoK+r|jbN+L4C>)zQ7-ejXGPm zcmHAAY-b-mlGaR*LmW;cj_CVxv%c#v3x_J!yi9-1h*e&d44iDxq7R2BgzLOzvzxrvM#L%00w3_s^MHarq3~1p9CG!Py2+iXz zH(T!q#Cu_ayHy*NAb&j_tR+@#a5}qOqrYH+W23E?O7-?Vof4ThG~!6E{J`l|>#(0DL)=9_`5aZXy>ROS@S=%`bL zwng0cjP8jvR$t%AX|{vRapJkzi;tOZ!-tJ?2{}GZ9|h`0e~-J4UJA<<*yBeL<=0pg zV@=R6kEvsQa>Bw=+f~48E76@6*ktsWV&<-Xh`$kB;)fLB!{#ICpDs?u}a%l9pj zHQ=d-Y_zYk-@aNp*uWkhViw+A%Ir`Uf}dxnp4525T{ec^mUvN!k;vR5_wdn|R)*PH zBIFAw7W$g9LMvZEvRiw{!9Gnva7JRo>mgfHVbeD@OG21cay8efl8my7`r>c?B zk>f*z^IVJIUUtSq^>}iO{GtD5EMhteET_sL5%?FAiyqYpwQpRs8oXI`+NUbQpH`;_ z9*f~}nEa?T4LbWhylLH*6X6mM-4!3gN8-}^424x)5uV~!Yo_^mm?YonS{9%!J?zD` z*=}=^&Eh6gh!K%}MNGZ?P`Z3mY)y5cOQ-4!DB_rViSTMQ#VsWE-i6ayTcmZuPgQX3 zL98@G#%eqsHGI;-E&*c<%a=)r)UrK05*XRtN(Ua$`*O!FA|L}=<U`3KI8&;fr+gvpvHNn_0OKPGLd-&r1jZiYA z=IbL|l2ty`FX5Gp{Bv$I^xmF$Lt%p8fx1JgB-b?~_NsaRbFVjqWvUSQfwQ>3Oqt{Z zM9b10>Ns>jB**&G9=&SmgSydLv$6^9VmE>W(J(2QysbbdY{Vc%6Yokx(f{o4$bqC$ z8EtDZ(rM)U>*S>LalM|G7H8~c(tfQ4>3Kq=G`5|}_xrxo6EiG%;ma19S|4X)(u|+x zGNDX3r0pQ;#OFOnq#4py^a#AEyX_OCb}~rn9{bzStKRxL?inW%uhsf|icd1brWt?j zBDXR~RBPuJ#TEh?E=w<3=xhgZCoLU=-!2ijV3ne#om3KDaHh^+q@h96Ev-QPFi|xwRq)WfK#^{~k2j=uwB0UF zj6f7|NX z`i)&)=bWGIz}k6)x~R(yS{x6AhR!pKDOxHalF`2;j{1^qzfU;6gq$C}=6z0lFpV|K zg}5zZfEY(yEv9PLuN3!+#jo4TtJtT7ml;m*Ec&?=nv1-9>AoxV;-{IeCUP6*#g#kQ z_B1TGa!FAWc3{`ZoLLfeUwiN8$(f)&{E4F^*5(B&@ECbHWVMXT$G?hCG48s*^E&SA z(#GDUM^d)h;JMB4zpo-0mCSdBGkJMQJi)orh1pN6$;o$kOFK0z~2X16@k7_ho0=WT`k? zzsZ4>b-LANHDCF9BS1{g0z$yBzxhsKg~DW(;T zG!#^zp%yK0$;knw0-yDjZ1POmc(#Mp8F>~n>sG}*#n*DuwAI-Ff0IxL#QZay_R4P zGNgcNJrp?90(ZTrEUSFfq1;-KJ6!DIx%C=v3C*mr9|w{VHuA`>(W| zoMC&sK;H?v)V+hzlSlRHs{QUh7Op66U>;x!-cG7o-`HZB@bY(P%XSPtFi3FQq=~BU<5H=;SJtk* zX~r14lG(h0P*vxE8P`{NJ$P;i;=>zw-ZWDZk|~!@A5q~YR!RoRD~Lq2Xv@&}<|&u; zRL8AIzMEU`sw;&RYDtJLD5y6zoMzqxX;tK{dXnhdj}r50v;_R9f3UCxC}o*54hWx) z&Al3wCDu<`@we^xXVHj%O_m9RMRMNi_WJ23f5YT_y=TzQ%tWrkdjYvv4dz8`O0H}Iil^4G&L+iXzn-6Wu-c|{}Vr_{cszw)Z%D!gv*%we_QPj*Z!Nk bNB*7vPi~GjK+wPMBY*1qXKVgg5CHfOY-!;I literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.21-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..dbeea89e15cbbf81a6b9116799c94aa70f920fbc GIT binary patch literal 2767 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.21-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..adb8f1d511b7c136591667e61fffc5d02b4f1287 GIT binary patch literal 2596 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 Zcm6-QnHy2l{QIW(Q^cRe{jneb{0Goh#s&ZY literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.22-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..916ddbc80e86b70e936422c8c603e454830930c2 GIT binary patch literal 2798 zcmbW(X&@600|xN9uZa+IDdpWoU`gmjg91vJ%B+B1a&coLm!$eC5 zcmx1M008O<3GNDK3XcoNhCZsX;y+JO}yEH4t2J8kf|x z+SW%3Xs#uN>0d1CQ{8c)*_yq*nEREmXRp1z!dYw!@|+VwT%S&~DA76@avMg%W$h8x z*5FY0CF%N$M(fxV5bORsdsOK0C?1tSy|R&O%ssg9uD``zIV5zf21u`un@tNj+7;>+ z@=fzHy5W|vL_rte--kWdgqT7*e6z=RWz|d`H70C@*R(cac1jFbWPAEB19lwz(mVh% z2opmV^m2=BB2vWek)dm}C0E~2w9Gxh;hPRC zQ6qgUxnxg8dr>MY-U_coEWa~E#^BagsRXuy$Z9tILq?*14k-3T8Kl87aUq-7_s~V2 z(f=B=O8_iXh{rE=JaC+#q{|@PuJ0#SKynH;eOdN{bLPl8_D{|>xfDljqP?QNP0lKR zTbW>GWHj?#-)bz62d5Rz`a>B_G$89!DH&8u-!FH^d4H5Gf$nTH(W zFzkg2(H~5GHyND4wv+mBJkQNhpH@t>Zt-aD$!lo8Wx@ zs~3{#c;BpGNjvPJqVk>M!87fm%qif2HnsDu!72B>9mZF{(4x8Xg1BtDq6xStcRqWW z4@6Xbjr$_4HqDdZ2$nO<8_z&&QfBCu=tp^{@cW1vwgreg+XqdB>>fW}J3gG+QOcCq zXrfQ)f_)ehydoybQitzsg}C@ppf{=cjRk%o&cEB(=+Mb4(C+SRyNtF`r#L|TOGESS zT%H|2KI3m}a3zlt>6! zLPiInmuOX`qrfA)l{utVzcB&{mTp)3L7AI6DVHq!g_dHJLVir_kI@avz|4jh;+io} zHE@j`OZ*?fAoz~cjAFtvC{tAo|8PF&l3lM90jMcK(rp@HDw&HEckJmD*nIZhHssn7 z3iaZYdJf%;{x;y^(ShC*(<{BHm~?_bL0Vkm+F|{S0v3fFuCv7U0?3$czt|tGsCDLH zhHmBte`TFHQ?2W^>#X_h*%uKRRDy5KcDXjcs0kjwOJ)`1is_{#!qcYD#?Sd!=-%1f z7BKjv@p$ogqb1kWpI%8b!vG&^Feo~MQ8jb_BGvVtNvAs8vKo3^6@Ea{0!pkGe`a*n ztmPBvfFGv10=IRt$(v-F2Dq3HGO)4WdNIGbTAc5x-x2ZmacLJu@mp6?>--@*=YVGc z)$u(38jEtOU3x;rSGhS?+0)h@6FHNKo}aF63d0ZDR9!zw$bXl1_~K0~>CaA;@r;$j zJ>IhbFJo+70siXVjPip4-KH`}7Meks^}BZ5W1rL1$>F|FN<3Aqa1qMYv8x<#Ryj)V<}JU_&?iMQ`G>#f&lMK8xv_r# zLjFlpbl~cAUZeW(NB33Q4r#J2+h85`X#Q#y{Q$cg?b@Byg-p|$N(Tm>XtFJ3wc$Cd)A1TmdZ97$Oq8)=nSLRhbh4qx59~iO@t4fvQQ(*KGjX>tm$k*VDHG zR|=hsOmoaWdJE%^7*;jXJ>>g6ver89nr>gJd-f>-lE2a!b?xP4K8QufVr@^v^?JDrLJYn?E$}KY zHz&?Yj~mg{%6Wd&l|f2`T!34W(`H;0za3dB8Kk`^uQMGdX7p4VIx8J;V#3yb)rdA^ zq9bcx2&|EMWmC)EtI9*-`7>;3vUyudcpgER@2Dv>i+kfpr?`p?(rU}zFhjLjn^N*abxiaCOL692R;|OOF z`74#v9s!zvZq`r|C`Z1*u~Z>NED_{XINQz97*M2*#}cGb0~nke9s8099?m}*l1UB- zGS>QSEv_eY(Sp1S#Tt5k7HGTeSTy%ah4Hzr&8B#%!YNkStlglZrG_6zx0`ahvqeL` zq+(WGuGlm$FDxiuo-1N)d}0+4ACk6>u@PT8nKq=)<Q0PT|lKy2et1%|s1x##g_|sv?ZEj3O4W;?t>ii4O|0aU!-}(Ox WYHmzN|L>dXZ(aVb-(S@N0RI8xl1!`s literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.22-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..703a1d11ec644a3c9f3ba29f687911cbfb44233a GIT binary patch literal 2624 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.23-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..1b2f4d4133bee8d4bff234f7ff590e73143a33d0 GIT binary patch literal 2621 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 C0p6eh literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.24-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..770067f6d8dd9117a98a61b93658cb8135c7af1a GIT binary patch literal 2801 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 Ifg%9#AM3u~#sB~S literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.25-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..8851b388d787448bba638cad740205cf974165be GIT binary patch literal 2796 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.25-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..57905a325f4ab4a87fac9fcea076f865878e94ae GIT binary patch literal 2623 zcmbW3Ra_H}0)6O3WEW2AOZtM$&?4ts)bVngQd@;T#B+xA&K;b?rz{N8>2!+PDxS`#Bd_z4I{O+TW478U3 zP5?kO0H7Hc=dE(45?nYzZn?#rM?(5a5ruJy7W`T=b&MSlj?Q3x>cXa^mH*>-4c@796wpYVbUHb-Q3s=xb8q_PZRil z`z4{kEH+|E795w(53St(J{{(#}Y7FSPeLBtmCaBK9Hx)HIW$qO8IF0 zGqAOQGl2H$rlQPEL0yR(S(U8Kv)OlIE>RJPI)MnOhNgwXrM#>lX~^qyp$-!f&N^@u z7k(8nI;JZc(gzi6{3p&LjLAX=uUGWB^?~Pp-`>r*l>?nK8dLlDBxsUVdP549PmVb! z?DQfjp30a8zsw~mBbfadqE@PfoGH#&Jjy+N(&+}jfdxaeNj;pnEj!V1TPj{xXY*3^ zq;mY58WTIDL)a_Jj0%*DpQ1LX3jb z%g+TByp?OEb*%Z~D`oJxT$X-jr(o44tHN)&4ub8aNme@aj6+-|P9(hFKDo6YZ%9q5 zHL0Bclb9dnvn4{97hY!jL7kSUdE?F0k}>S1tyYt;rFm24(32!A8zr7=zUAHMc1D`2 zY`VdWgO82~FkSvJ)toqtmK;gsIoXMhCjGivw1rQjw^qW~hj!Mm_!(A&oSm`ClVuuD z6zYHGD}6W#H)Na==zRl381;ixJ3zy1d6r&2!xpd16D((rkv3IM_xs2shVHq6Jl(Pj z`H!CqVh^evCW`#G#097rzG7uY`KMzm9kszfy@m{GRWAbqr@)2Q)}c2#z-VPV#pj*| zsJRb!u}dD0a7n$LGwtb;A0;<81*8+WK8Ccr<{${#&ZR<7fH76TZF z*!L-fNve1mRl40ulam~M%_o_aCYIQVz|Nbo{5dr) zFs;Ia=R*2b67TUk-6|T)s2r(fZD#i+^0V%}5kn3Hch$ps3kvO+kBvo?3jf_G;4hPL zjXSpcDPEHfA2P}$8OwZxqwsRVtBQA4YBp$cIG^ic?XFj|mrB(`06FV1k$S<*bdfDQ zdF<(A0b<0p_7TBNYxChwK?~741c>SYgC;Hkhlx3w=^hmXQpsHPP2% zo_EX^z;x$NnsGQP7VI`z`|pz*Mh&O7A84!Itc1K6YS*RJ$PRF-f0*ZPB@IOL>|2z~ zc^ix=MPe6(4cJGj!z5BJu6G9rh=6ICH1*xS4L#;kBt@)41lWo)PX*Ry8st(07z1}M zPS0mXZ%Jx`!~Igxc@D{SnIJyP7JZ$biT759 zVjjRvf{)9PV7tdCLN6DTcTO<+5nM&pwF>L05RthWq4MYvb=4CdHI$~j7fxLoA=s>~ zmvP0JERkHyI{|Y1PTE!%ZQP8>*RbpD?fP9ap%=82&nhFF8^8OHf4O#ZN_cb*j&Q(kWplDmDvkAVE}`pSt1v8zW?0&&9n zIBTgQW3_#ZOG}ayKRT)Gsg`oCC3;tHZ-liN^H#$3!|C;6)zNjG^QQ(o)fJmuMdXsr zw%JW1hlsH?=*aB)w~|4=UC}3D`pIuQss5b(%GRs{uN36|zBK>zB}dWnegDV7gYEU+ zDWcj=W}uymol|y#8Jvn5O7p)p?yt%HH_=r8;{TI6Gx#OCf7euh>+zSQznTaD{0C`b B&dLA) literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.26-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..50e0a531555441672010910bcf3ce0e8acf071b6 GIT binary patch literal 2799 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 WH8DKL{O_CLPaXfP{~y)@0RI6tfKmtm literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.26-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..da8110e2440416885e8929008a03f0ba52d103a0 GIT binary patch literal 2626 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 IqzC}~2i7eAuK)l5 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.3-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..46966fa68a6190eab831fbe95df9b683c2aea59f GIT binary patch literal 2290 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 T7~j8du0Qqsv)+Fo0|5L33v@|i literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.6-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..df898eff5fd8796cb785e6d64878752df15fcece GIT binary patch literal 2270 zcmbW(X&@600|xLpGL+=XeI`1P6(VyrSL7-&x3MkyV~n}|opT?r&4}bmZZdL&8HL>5 z7zxQT6uFNu?Ct-4f4{uX^WpjQeE(URvasp^m;o074hXspAG~_?5<37OtpWh30RR9b z3auFA8Q`H9fI$1e&>@QMC?B|IfG5gF5$5Hk*INqEP+jXB%&?<=6t&vUx%LobMf1wbQ_Kb zT_)*cTclO~F`il}fDE+6an&M#(>Ardq)-W>H!x0gzTuYBn zXFUu0!<9Tj_skgYGB2yHQcx^=r4R3 z$@Pc(<7V<9eiFEbQ<#mXF&%s^0HUG%wapwSpkOk2Ln7Q>U~0EujP6R&*z;&Y{`*>^72C^WE{oZw@AzKVHn39(Z}d#h%w*E>b(8)5po7w z-4jBMWnZ8Sc~(38iP3Nus;pqmzH8KUBFlasq#cjeB_wMpP+9tQZhk_iyGOuYRy=;?bsA)pih)uB`_*t4#5I6>73!gSnxLaVlG_lBX6 zilPuLnyzu7+)&ne{M(a>#S~q54K;3-U_sIo4-TE%!OOpy@O+-5M>sgjipceVEruGV zHJxd5*6-s=w4&ImK>Bu?->j=5!NQ3Z$Gt7&9N_rZ3c@g1q+f*Lw-ES=3_P$M>AstC zylJpEF2U1s+&I!N?RITz_Yt?P^Q^&OFn6HE@87M2rAe+cf#%2iW!j@DkgvBb&DW+b zzFyZmvO2OklxUy*S9NPWXyg_`omm*3NZk08&igWqFcIncmK{?oGIQ6lV>CoHK~xad zo>iK*SIMkuv-5JZPNg8&|83)rq23<$L!pN7nS2@BOQ1p1^{dCrn+Cp_3uXzn$WYeF zk?b63inPWub18?yB_+cdwwxkD?j=q`?!q?O@<6o?qju=3ofG!xZ+yq|Q_!(}0hEsq)~QvhuMcGVj`q7NyI(4 zSvon6YJLYc7IXZ9RIaT7-Z9#glK#jkpLUS*5^O*TI}I!24yS;d`#~#LBva`M$e>zM zv-1mCuOJI*i&KS~kK8+BdC+)mz_|1K!MnaV=}?NiB=cCw0;CBrx}utE6VIi-Jy+reJTfRn$T63NxWG?3?q`s0J;!?38ZIWXATF>C& zV%FV$mL)Er!sE~$bNEo=C0?$s(TcWiKK9P~Hv{W~PxalP{7K&G4iycGCcr?sG9=`- z1*7=!2+-JOIE&NZRaKq1r~}^YsZDl&TxIyS358*;NA7V1KXi$IFIRXve$x>i_!+yT z)4Rv~xtjpqWx6mD{(5Eusr4&!$$cU%RIKMIhQ7A4&qjGT(LzgtO~0#lgZoY z=!u<0)%k&eO%l&&?C9`x-;9g%yF~*Em)$^Z^N?Jw)5`iP-|N%e))<8+9;2>W85|1V z!d-H%9pw+yDhvuS`2cLpC};5g@ELa^CnF($vDi2#vrb2=csJWboFxJ7NZh*p_{pu^ z*K_ewVBLj|#K?vQb&Q!CUI2cUz~T>(7L9&-n~!TRkfUQ(QqRuw<_RQgo(0y(TlOVG zZPEkOtoo+Vs4@mqBk{Qee;(+O6jJBaoeoUIv?eC|%?}R>Z6d0nlSb0l)qV0HUHy{R zh=Ld59gyWzj#~U+Y(3AXYVn_3*twFPlw|Q#s_M6b-~?0{BGJTCf>xG$QUOU_W!@2!Akj`Fou?-#&~y$`+Z)0=2) zTCNW*Sa-5smD}Q{Oz{Zw>nOLi`;Z^?ud|FCJ3)|=Y1g_Two>u!PrN}V(MPdWRXl#2 zeQxu*Y~&g6Q|?^)C7C$)SOz}N6<}$~#H_>ezm@R^8vjic(?9e7nZwfb9NRx{ray)M LS@<8t00931&J|Vq literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.4.7-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..e38b9a84ea3e641f3aba7a1a6f25aa613be469a0 GIT binary patch literal 2363 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.0-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..31f1c0721c7bb47d039caac6e61cbf5e2d403e8c GIT binary patch literal 2786 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 Rf8S((3jedyf7A#7{0HBw@~i*= literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.1-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..b7886b3ccd5d320086f17e0b850fef5eac809209 GIT binary patch literal 2789 zcmbW(X&@7f0|xL78&i%pbG^JdhA491M=8gqvJi94JFMI@w|SkVV)5uuqaM%mZa+^M+VAlxR-%S-HD_8iVQoYcwqoi* zsx1WBiAo*bY+n@^7XC&xG@Tc=v#%2{C#E&6e%eSII$ZffQ*r-oyRmjrylHffhZ8{YR=|_YW%#NA%*?3*nM|s#g`ne0Vmise_lD|0A}&mFz9G zvxwy&oZJbQEXx2orBvlzfl0T$2~smbbx-Up?ucLtb`zbzX7AS{Ci2T!B$%_z1!>pa zjq%_j{4S!j+cfPkGDiliSwtsKj06HhqbVt=m}{fRq4O%SU=zxl0F&pspvz$nv$%%0 zt>I^+;=)p(Pty#4hzNMMx<*?aiz2K7w_`^LmZpES-&-9nuRRufyIFkr%D^}H!Plh*j zRuCfBYM#a`mOr-j#|S^d6wrm7_(K+5{g)FjW9!boE^bwA)!n3ZUE*95?UQ7+H#y>_ zF-isP3NkQVCD99A6`%uyd@vhBhYVkXBy#$f{zh(V)&%}8_N;-EYrKVR%O+(CANWGh z#0rRqiC=Ny3BMzvwjyz^1mx$CkXk>OuIukO9~`!c=j^|=;Tr%$znAZLkgxPF+2-_mPP>=uOXBUqTXFQ^>t zc#&@PHj~bK^-t}-i3rv<_DKDEe!?B@Ps<^veerkb9>qL{tw<^NWynF341Pd=1^sjyNsn~qcsZp1DHAz$Tc8U)mbh2CRN5p z>TLRi-k0QAd0Q1EuLVe-!%V%Q)u1o0U_^HmeadZkn`_YOR6DD<LWEmc*{qNQ z2k1`hY3y_H@6AaRQu&%j^V2q9)7(YNp)bIDgfYc)4vg8=Yo3GV4@6S6w61NY+yzh4 z4-L?e;K)U_@nSAt$lc~F3(ZwpR{E#`pT}Hwr6EH+`3Ci?7peBIXQoL7)Zi^osguAb z3RQ$UP04!!KZd_|v^<jxb){<`0giN$EYKDegYfA0%UC}#N-y;XA<(5zT`hy0 zd@K^`e-r8yMQE=uROa|c&=Cvk7PAt6mT|y(c>HPp_s9Hu4H-Rd=V1AN)5*)w^Vj8u z!oZvQdly<7r}OH8WDn`YZCK8LK$hEY(4Rqe`?+~4yla3c4{HRGNGiVx{L&D&te4xw zQg|)){KrE3B@z3QlDf{MpXmbwOMJ&ra%ke?@Ff1|v0k(S+@&6D7uh8Wy#BQe6G$(L(XY~*g&+$XFb zbuTy#gxyps)hN$0u14-nn7b=OF+J*V_|$kY6CIjb)RvRFacEiiDmm%1^xVgvrlYd- zh&KQd;%vn&TJi6%B+XYx?RC(sF_|9hmu$qq5IrSY2hwo+~LMaa>3nV#~+110ZZ z*%*mcHdNmo=kRlq+#BZ@__Z@*YG>-;|_PVlOJ(`@gs6i|9Yb}Q6KDq8Kw zf`vgs3M1-y@LMyPjw1Msuq^D0_~Je{=`p9SoyB(c$&GcWm{2k~t(wUw>1}Ove&-C0 z9h(LbZGGOYKEbr)y4aJeP_TOD)ID@YnJa?#9(bC#(rhz#O1WC5#kX|S6HK#A){5^} z>8Y!JX{5a*7|{N5;^cvrpK4TCy1erygRikLuHpXXC~#aN&mVOx4GRfG@xOW?E&kQR zO~E8jF*OP|uR~j980n1)e5~)@YJQM(w`R$4ie4WM|03Uj;uj8(7@`>ug!WnMiksb{ z^TMMuecGwUz4R8K(>BuHsFRD;jL+i19Eaf|Bh)cw2?CQ?3Ca)~62rFr)2p{x;-F(t zi`GGze-Cmt+LK+=AOS+=t6-t&pC-q+jq_tA-lKxU;61-;ub!aTt_!D_c$*v!w}?6tB_l?5<7EE&O>!m6 zBCsmHlYqNkj5OrKT%$z+1j*u|;PRw>+LpL!GdJdz<@M5%5I1RsVAEP2lv9MvJ21T@RBM4wv6~OzcC2goWG;~ne-Wlt;CU2+ z<#QRww#=@JvHU!AKRCw6_N6&f#ZIdes|jceAe#~U|HkGoZ~iwiz<=leqbJ$|1pfC8 P{8jf~>-`I}0Kk6$^$|eR literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.1-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..ad7e383374e27bbffbc2db9f9d809123275f3b22 GIT binary patch literal 2639 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 TVEp$@^S54qm++U30Kk6$Dv=3c literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.10-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..8874c34eb76b4e1f51c9b8603a48f1e157fbc108 GIT binary patch literal 2785 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 HECBFtDo8D2 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.10-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..91f981501257f8649aa5444996c58387f12f8d5c GIT binary patch literal 2634 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 Gz<&TD{V_cN literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.11-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..4b9c9c8496e2b250dad9c0e811fd740f81427c43 GIT binary patch literal 2631 zcmbW(XCM>~0|xNJNrZ^3GE!vS8QD7_9FlSNJmbzdIb?R(Lbk(^-4NN_WlJtm#+l`g z{Ef;wEAx!E|NH&@@;=Xp=hO53X9l4IY5`~gtN<4eDm0*r&L)fz0Pr&g02BcLfTuqS z6oLqXgMvIzNLN%C28G-Zw zM*tuS0MK~$%V)cw&8Bx zIASYEXI}efOPwxq`7>|pOG4VcBV4eloBHrEo<&3%Qz%<-p*l}L5EWi8T9S3QC0eXh zEv3B052G{eIbqims%R^*L9kr{kZt(?oxkKF~sjGrJRrTXe!6Hp|6VJTjjY;|*X_uGeQj;loi zr5s~(x+WH%;RiI|nC(1mno=!cOzJo*HJ#r>rb<=g&v|zOiIpdF@ z>>GoT#VaaffPn@EN7-WZ>2#HTeSOGlZf4D^g_7)PInkP_$Zw-jgrsWnc{y#6cGo7q zV$Bmrn}lQ)X2T21-oz^*z;fbQ?2t&+!DBBUcehJ=5qmDQM!T0k0YAQjc(4qSY`cw^ z(1~;$;@wU#4PAx&#Wk0(z&6yM{VL;(y0yY{GYb~B#5Ph@1M3_QZ`D*^*W#C7E>Ygr zr^snpRb{LB34QXlN9G^JyI47V&Pwg;UXMdS6afq%irDnSJb^Q7Ry`_r!g)wo0lvuW z;K$$4GpeByz^2a{Pt2`c<Ew-MOEv)sJBkQ0(RT7h)!n7%_L`MXr@= z=uA(Snm=U;Ny>4o_vJhI!0BoDtn7`?zY%1DZg-bd_+6eo63f@Qi{b&#qKHCH;M6do z0Wn^Op2G(P91)J}xXU0GA4Vc`!6Eh2@C^3K&V8-kkr6!ZxMb^xa_GLgZw1^(c3nGA zH@xBUtx`_=yP|oH89VVG zI&OklB*m~TxEQsV{OgY%-(=V?oZTtzuQT}^cP%qkuy_gg`#G&bDV_hBK+)dSpV|*` z3K-OqAy>G>SKju7)+g33>WOZ%%1gbg23@HMohm*->jN zVw|;5oV+5TBxq!1=G?O*Wga^Nkj#YeWhQ&N~0DPaT0V^=Hl=-#a%h@knRv+$W4MjbXfa z;Q=cXhcADn^Va+_yzuF$ML989vBw{WTwpQTpu5OpkpYss5OhPRSSGC&W|or}{j^1}+I9?vM;=6R4Nmd9e_>vZS|BF~cTlh#&eDw>5f#*tFTv z%PBh|cQu)fD;Rj6TjK}i-@Z__=`2psgH{Oi6z{6G?I-P5$CQ*Nd|V$rgFZoY%>4N$ z+;m&C852X>lshSEN9n6g;xuY^c2xwpS{jM5WP2$Nj#IvgJ|{6AnhG=cQK@8X}azAWsFtwX9G4ZNaLLvn;u z4YDiZa3VJ!7p1X^^N)CA%oQOu2W^@7ZI>6Iy1iN?ye$qpZ`~8hIPEc#mWp5MRD~?& z==4ZY*krep#7>4Kwob$nvx-nPWr@l7658HLhokdX^uMmOXy;#Vpku$y4q4}L6HZF9 zT-VrOnt{@1zs;K^0k$_g_9{%Q*p%IgwP77fe z!5(z=txG79ByFixG$Uz+*_~P8Jy~KHAGK1Bj%x~@+|*%_F;{3+hfI~E<}jN$*ZGO3 zTY4N!hGPuNzDKT1*whQ?)Se<_MkT&$hW1<|fk^dK(L8O@ue6+Y_r7J^vz+p{@xp1^P3>9$VfLfRLpXn#Tbxj z(r}VtPe!=llJ9%G$YFA4aP!(`wI=lt&l~}ZB=qI;BB`VtLma}b{Z8Nb8GOy0*+N!Y z_I%CucN@D)*;JBCy=Wo}@KnRTXS@6jn67NY`a4D>TC_yMo6Nl!+v}Lo><6u1Z3uIA z+%|f5ruS!1kUFpI4Lg4oI~QOEp`q2H``?`VE4u$Ciss+>|8Qppp}+9&o91ub|L)LV IE&>4m0Ume$oSS+0OAS&=l}o! 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 LcjX_)0s#L35Aq|u literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.12-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..0e36f4d599fbb80a4ce07a624c4c47838b97518d GIT binary patch literal 2632 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 Nr*40C=#Lly;6MJ$+C%^V literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.15-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..bd232f08541f702310c9aa0a4a6d55702a6c5f2f GIT binary patch literal 2785 zcmbW(X&@7f0|xL7a~7GK5KFGe+;Xc)=A2`AU2~5$WA5Bu*NQpHqC=W1k{r2mUvmph zUgnB&H6)6VfA9bM|I7b*K0KeE?>{RzBa=RW0l*1Bc^})GnfBN7umb=>4gi2U008g_ z3|0t7hxjRkcn4!q!I27{fmkne2s#j}fWlxD@qrjO?+9FAaEKc!*wYUk=B?~L znmNAPw#hp#xLvPjyef!vtl>2YA~tR=(1~Nm8}8}~hrMk^n$MGs3-&V0 zOe2nlaAfB{wT=H|+Fu7XiZr_@Gn+I&N`~e!$AFFD5mz27yE?s@Zw!Qv(kH(Ga`FgA zHb#j_pVm}^QfpcX+PajL%HGzNb&+mpOCA?T7w@X;;uLM(Y2)SK5j}QK?Mhd)?Qhwv zMW0^|vci0h_y57!QZU|pGjSRMWf>n)jvKLBzdFa(2Uqky#CNQsPD5!&1Gz8ok4~^Z znI^7$vrA7bMS|Z$!eBxoXM4|ow5|lr$@XlPBLNmu{bM%1Z9i$_;;}Hp;?eVGbGq(e`JKiyt1$VG%CQR)NsP z?o^px$c=6oG5lKRE{DwN|FIaEnIuo{yk~dK7B#djl{Rk=aC7K1{wOP% z%4i?<_;ye8w0Cpn{EKSeg!EOv1_mqd=@NYlm|Q`|SU|WPfc7NGF)P;EuBws4L28Hk6$~ zof)&~gtuid{=x0p>(|DQvZS&f~d! zqL!3Vol$bP@BvZf42l3Bj}(c4^w>&Wc>v6Yc_i&BcB4UEMR-8|MAbNiXuw$-8|4Yf^~OA+?^-*EUO6t(Go- znGC@#h2}M;yr3is%U)!`wfL%1IiZh(8&#je$5WSY*DpXHRDko51JQ3kTbNPZyZyJ@ zH|U1CD$85uMcm1B!Sj0WEptkm0PM87ue4O~^^nQ}$1OvT(|u?g=<kXnboaHlf3=(li8WH8dFX2_Bmn) z_7oJ2>O(LsQfulL9su^8I;?lSh7hW#xFo=C5c=xd>}LPzV0!x!a_W@LLg%lJ+BXTq zybfK6i{LjK2lfM_m$<#gf7zxDIms((c3%}C0;9PI9kh?aa*W~2O6T^e;d2ooS#x3u z;2?j&nkF%KHD}5T?l&WzWR`uIl>L0qK?8+nQWcSaZu-P zrDxP)%}i=*FDLEI1m|el6cm(T@EY$2o=y}L!|D#LC$y*-$W)j}PI-efW#hLURcb6{ zU1{-BwZRM!Vije;voU?>{l|*)&0eLn&iz9O;DA*-WF39aYxw330~QGIQf| zi}Uq2v!JBz_91pfWeEl5)cSueUfKy3O4N%7EzeA1p6>n>DbFghYU$-zeRx?iVp?ja zS-B;eo4jqGXqAs4$}FZ-PJ-i-%u{p0nvirPew3x#7Vgm?9Ht~OXZGEy@nF~hPZiHw z%9T!Da~mC8<9lzc<6M$lg-yJ!DmD<*_Sg(%q`{Mpw~`DHs321eIFnANa-ALE`t|74 zHe}rMz}f@x7A?QBvQzn|%b`#i{sBu#QF~FPN;r@bqYd7G=44$`*Dw}*fAkmvhQ zLw6J}!nRp`T6SdDj5~LBIafHiH#36^eVhGfV$da{fG=y$x5Bo zwC5^H&*9srjT8=It?0Z9gimTw6;7W1CgcsBN^7<5&H}~@t1!&fCt4#e4!p_CSZ^LD z{QNO^>efi9D^2z0VseDcH@*{rWvLC8^x<17ro-783edzC7UGf;)48P_(vZdb0*d~B zi|So-%%a@`MHlrZTtDQK{~WMzjJ_vy?*=pXR$V2IM3#xIf_KDuT7$P2jXTvRqmdAj zaiZS4jO8=cQ4>VGPy10~ua8SPzavs6&)Ds^{C22_YoV@7f(a-{mT$hNR5Ufd4=6}~ z|4(s-u^qNS)%DpZG4T-PD#FSM5~(I9+sQOc;ZMRyY;ku``EB2T*SPam@Shg~9wEcl zCTEH_Ozt2-)nhjaEJ2V3p#jhw?RJ(5OE~kIJ9i{0CL7CJ(kc8 zPnT?H)_*3Yo`x4WmTtbxXCC!b4%M|I_z;Bmu$^?v=)v}wu>cS8x|7CHdoR+ZXRq1IzjNjF=Xew5HC^{YB zrluGq5zbN$-p1g8DOsd1XU9I>tX6O!gFfT`hUOn@{x|W!f9L;WrxhH;{O=q1r(S>7 K_YY(Nfd2rO^g7r8 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.15-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..a7260eef485d3181a47baefee3d8029083e6920d GIT binary patch literal 2633 zcmbW3Ra_H_0>(#6O9)DXl)!)km(g*Q4Hz&&r3A?l5_3pQCIV7J7$7CxT_Z+F$bQmD zZlrWcBZ!3L@!a?Oa=-84|Mb0m4}W8Q3QA1?Ie-aZ55F*zN=uGL(*gjV1^@sE001~6 zyn+61KCVC?xVM+R_iLad!pq6c#|_~HwD<6keueO`g`-{~ynSr#y&YZM{NU0rULm|_ zDX9Q906;JRppL<~$Y07M^N7QZs*IW4UTz{CeBoGAE)6jpeJhBq4GAXC!~c#oqtzoo zV@D3!x7kPT?&CEeYj@2pYuR;?aZTF`dvU`TTXrDeSy%f*rQC2xP@1bX93@+I5fR<8 z{<*)yzZKu{R_A6_hfKwZVt)>_ls;bY^ZCOcYixy9cirdt?H}x}dHBakl!2z4z-93U zia~RxmUJ9fPl8vVJ@tP*d~LuZ{+s^*s?%p^V>Z3XxI$mN5#=I19hk3xIq>xAtV>`| zN_XV*lkaj!NfjT!hQwIa`DzTDn5cb_+Rav0ZjdXN7%3X=*?}H5Mr389>SKfJ)>{@y z{^8)~3rUX5F9^%m=5?>n(vxV6O-J)SFT`els*Am`@YOQt_ISW)f_3kO!pYAfMGqow z2UX=dC`c(;iCwe!r%~zsaCkgQ<&Qt2peP9g=eBs};gjF_h!c$D(^I^xV(?mO7s0Su zG^$#(!=Fb76pSfL)-(m#0aFe|Z<~rH z&Gg*bSwA4XkbX#R1!ws!TZZu}bl97`h^9bhZEOVlmF!!J=c`ltSZzXH@tjs*PJ%nRBY6%x; zh}$~JaSEZ<5}2$z(0%sa8u@lgu3?~}4!c-)dJ?~NIN7RZHKa$u-Ygvrxz1UmHb@&N zlA-Y3^TeOyePj#Gf;ja!Y=4X%*$y_!@Yik#&z;W?KAmUr$utC z2jv_|)+0;7$eyZSbPg4gN!_ldMo*zi%v8;7TP=)gZ`iTR%6{^HE@4s=Cks4(cbMI; z3_CbBzVqFusgr>Y4m-6%*CorIJ(3rd#Mw_gjs-guHn3DG6p=YnU7?6dKbwVr?5%X| zTPi`Z1G$SvT1s@&$fM-*Jn37XGca+XN6vU=fpUW%rH1iCLs5 z*T?D~hY}+~v`q3hLxVGH`BT)g^t`_FFfx_4kW%k>5h~)tM*5a4P@>x6)76wJnh7d( zt3@-K85nnhU)aqYQIH15^)qDNE}Q3!=kuCo_E6Up(m$-w-L{04y0ZA{J4|sT-2Pdp zUZx#w;c~tb7V4b=i0A z^B@F2aF;I1qiKi{L+4zakfPz^b}Z)-mc{liGq!?#zEcXan@5p2)rIlum|rTXW>7g} z`L?qhd46~0I$8DV4PxiR9OCH7i1|RzS8G{rm8(xjVOJ9JmRz^E5HnM0GK&R|lf_i4 zVPj`WgPjo}i>wEoYHh-o5G;5#Ml)iT)I5sUxcdmK?dZ|7N8a9nCPF)UEnc3&rtb(N zy2LNoM~(w~l}b+G5eFg)hzjkEmUj5Y3Bmci{6p{Wn5{%FTjX@wxF1VuZ*J~92-$ta z>-I#GI3_Zjf3Rhf86bH{toy($^3(ZN;ql2Wri9AoCLu6m)6GOxx=_@!-sUTx zgmU@lW~R}g+w@PnVXE<}2N<;0oasl1)EEIoYP5`V4%W_UZMwAw%|(@1%Qs0?2f!V4 z??p6_^N;r?mY;jUR6O=8h%HFW2~I#eCa{Y&_>5t?Zc+!bRyM8@70#gUH$i98J>X-! zvghLkJ-t;9;rhC{U4U(IL~R0*#VsWMy&qHzwpqT^Wk89@e1?XvKWB`b4tCg^v&k|2 zF2-?}}AQio*XXUjT_(q_xqp?E-le^~{TSK8Ukf=-GGkHGoWUN1BzcLm12)zL zMNKJoxz_RE>C`7>IUBOJBCKWkPPl9I(>NQsJ~DzZN2f6(pVSJ62!qVDXa%iSHW+Gm zqw=&@nB~s6C7L8Y3+gQkgx8GTkL|rd8wAy8EWbc){vC?rD{bg3(6$BfargP+l*jBZ zrExJNs$VHc#-3>jL-8X6c_tQE^HUv;HfnEYCOfh~vzO|joLh^}+i*)`h1|!48AYsB zCSAtx{b8bHsES;7!G5!8_v4#ORZ4kdeKK-QivKNif1K{W2`2j&|DWC&>r+wxyC(Zn Mr#~F|Ba8sRKVn|>=Kufz literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.16-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..cc0f105b65daacb0e812632daffd9ab766e5a55a GIT binary patch literal 2781 zcmbW(X&@7f0|xNTeJnXLgc8Xe8geV-h?pbhX!0_K*}`5Kk|RdU(Q+T<7CDo1goa#W zQi|EgnS|F-ZvWo@_y3pw^L%(dJ>P#&3uYDr026=*;Ep(SNcOQAKg$IGh`;~<4FCY( zg$Y!8=z~QnVG)67_duMI2L|owgZ06nmE2LNt3eo)8zSTZCJ^i99_WGe2}WG?4Z@%~ zSy%!00DwpUKrcSt8*&5*C>*CW>72>yMf*s zbvt=8cKWQ4nxhCu_lkRk*XR&0XPch9A$VV-Cc~He_3hXyNitbbSk2ADm~8aTH>6+=zH@kyV`Lp}+Ex~%a>NdNIBW$j z!gOlVuzJDji*cY%E?|OM(1GMjig=m#Gp6+}wa}}aUv8{n*NkpM|j(E{__z(QZ zeJQgvi}S;hd`rCd42E(3jsxXyhboZjihNhCv*%snQ72>#jR}OgM&PZq**eb<@SDN8 zkhP{@Dt->L#zJD>%7Nwt)`ybcK%y9V3D)jtY>*Joh+ea{*Q%bQoL#R z^Jm;6LaJ4_ipNhAh}plB-5`cA%+QYK6smY3XyTQ`v-LV)xi`pL`TR;z=cCR%G7Dj$ zla3~jsdlfs^ZaF#@&vUp2hbXJEN6QA#OcuX^WY;ZK<5uLm9Ok`tpfH0Ez7ynHIjvt z`FuqK>hu$z+XYRm-OFSDfXkrGlWm-yhlUml%GqVarn}^PG(A zJ&VzYw;$B2JM|!_#8CZrlCN91*hYq9<(;FXEdzgQ@9D?EZ@hlNEj~Lb_ox7Mk3U6S z`ur*k&~r*l#>Ud5F7$$s5GZIRPFKTa+R?_ZVVNMXEansF8wp9rT*CQD-G2f0fGb_S9st=uC9DQ8e6LxEU-r z<|1CIZe%2)Ab;>pRCakz!E(23ZSU`k3$&(9Fts%Jb6rHe(WIBwv^{kH+9Hv z&@^uted{ECOY!|XL-^2%0Vufz%$Fe1fPSNCeWAZQUmAD)Rn71TXvnO>NZRI0g z6>M?pwZ>^U>~8iv;d8OsNU{gN1c0R%2ebd_A!flzP-ELNBc#7LqtPFqam+jRMA0wE zjtzJGR)VAV=2emLyM}j8R7DBh(nLQdyRKkUNo6<=)gp!g~Zo(T)v~Pa<}L=9Z>T53oZW`A&*_-9Fcjs)NWBz6!bDp3qJZ zAzvF48K5AaCTVUll(|Wfsf{-&Zb?OgOZuHk;BpcqLmVr|IrQJdBIw|V3bDzLs@Otko=X$JX>D(A=*tIU&eEXTzun~&re1vGrRp^i09gdxk z(W7IThSZ)GaX63q9a&17pVc(a`bep>SBFi9ez&`WFj^qgv_izpk0lJ^&p3%*o3c`u zP1OSBul<2WW-LCov#9vrqX zwoYGyv0Sv(NU;SNeANsddV%&!4V(2gzPqQZO0}xx0$X%(?D!MaroXg{VeY zUuJEo?&?%w3|K@=b}z-{Db;2zdcAogAUBX9x{HSt{$S6HKU(G;tc&L+j24A|-HCep zsyy|VAvuLjh3T<**=bs4^tGiOF|_@s-V9w3xT9-DHJN`RtZ_^id^g{oZl^)vrVC

yxpK>qqug@j{FB^wOma@8 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 B4kiEq literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.8-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..5e7c5b04ca91e2c330a4ecc5589f959440275b43 GIT binary patch literal 2828 zcmbW(XCM@e0|xMO_DV)sQIYJCm3d~?r4BEWJ+91iMmZzc zmk#m>be9f<`oo<4gQZ=4VQwCQ9=(OZ zl81J_taAWQggiN{i#Cm251t;s$cvt~G4VA`R_;qHAp z*vOJqfSV8&cOs40nbe%D>y1$OfFN1D3{CQK^DJIJJksaWEyfXABvVv^YKhB9>=Lb4 z+bHveh2x{*x%nBom?gAlWPl5ql{5_j!z=ef90Zw19zpDgHZM}!(riOMlKRj=vivC_ zy@9)eyC>+s3vcH5QmfM^oZkQXyuD_=T{v$`! z<(o_=^#JebS0_xbDI*p~F};vji9w;c%%dug5ttIVDl7vmFlREfI-w2Vu#Q~ADv*~~ z6_1cclSwq|3|WE7x49xlz@*cahR&0QXrkE@*J)1mJ50!PvAd}<-I24$FMBn`Tyq~! z8{KKleMz{r@i{D!yWoW_E>)sbG?m&Q3sc;)b`q;?G6g#K7L^-l6fnXq7M7j&`cu*2 zGViwMAM42T#tUr*%f8&vlI1m3i&_+W#7e-lbRWXey4ANM}4#H{wx^BCqz#Lc4QSpKw)tXc>Eq)qmodR;gRA| zR(lIr)Ub|2W$Hta53Z}F*j2;FYpwP$qeaXnz{&eg=O9~wNmVLKQ?ER%)%}WRsg$2s zdEU6GlqRu=^PuM5y2%nw>Xbt{ zG=FZs46EQ;VbIaq{o;Z+sf*!Q5dR@&ol}{8A$Z`$c9DMPH z84*`h%DT3#5?2oA@4s#1R=^h^Yy`sSPufLlvahLCOJhQV9XxJt5$1!H#}+uPPI=`5 zuAW>PBLH_tHN<_}?@GUCU@HA^{G*H4!P?zH@+Bd*;_w|Xt>p|aSE^gG-*m|ELcjD@ z!CaC{1R508E!YSxZFEr>^ZED?mkiDo;~6GY-)>rxxb$m>r8etrPV)$TOYY)@bR<4T=@c_o))uMD=s(_jdw>sn0IKen-1>!+ zVfAA1hL3c;>Lzb=2&l8MvpGs2B0FnPAha+e$7NFXRLY7wr=#6ZZC6UCr0d^N6AegJ zAJ(?fU+2`wtww5fRT`Rp;dpp-o>O!%cG}#&Q+1`!`E9qPNr8fdeff*WwUw-LXo+0I zQMei1;-yq^aZ^E+_+{uSD_lSo8$DjX=%f_x9rZjs))@&TVFI zE6M$5_cw`*@|=FhU(Qf-En@cO4aqYFRB9NI>ga&8?tD(Fom3l}!LD~ae9IJWbNv0G zm}KyV>{L}WDe&(Lhsf!{GgIcH$Gc{|P{*jgi6EgyZiN}n-%Y$eQooB1>%AXU+{?8r z@p~dW#^8kR2x^Q_PEo+X42g7DI4dg}EM5y4 z#R*V^fY4!ynehn0GEmAl8JK*LeyIi4tdJ^5|J85`RnCC4Oy-K=UpMTPY!5UQn#X~x z!X{T`n2j^SvpF>Ye=$8PEKV#a`gZIgd@S9+R4}iO+I^P7Ch<$i_1V#VyY4X3H$Q%! z!rumq+@XS%1?T?v8^VE;Qn{L!y<_iDjbUF2UV7z2X-bLyy85unW;A36{FbHiq+tqe z=i0qd()RQ(q1T#g{I7}CPd-P;fBHFeew~tEeY-Bad}628G%0CO4s79D?z!X5g}9xK z-9ACK$K{ay?8Q99xYgtohgPjpJuIL_&p;az(7b zESf~~Rs4^;H!T>$&|Ql%K7{@1Gk?bc{vOKLx_?wqNv>p`8J`Dyfjx;~O9)`WFwgKs?Pm5bCB)XxfuetJ|KL#>kE0e~^bm_kUDdmv zEJ`?#a?r`=NqAVby#!I#RhpG;{rYBVH2|Nfbrl*pA(z%rCnssur?jpcs6nvf-xv0C zlBOPBi0r^&#?`&)K_jZX)!b8Q@7jH4#G0p<_faa}<>%1x{B^YzxRSmC?6An;y{%E{ z=x10OwbLH5*)9y*ippeoQWEqkb~J3HdVO{C23M!G?ZUNYq%$wy08J~seHTyD&7B9c zTQZ+zy~^el(qwl)EEh+gvB`K17fMydX@7TA5n1QZZq8Vy0@(3Egwi`mAf&NNd}B+3 zMAu(@lOJ;8>UO&VkG5ip$pnju{H^$NDjPnXTVNZFxJGZeXFE==@9vk+{*ELM4%r{e_7xC~<$*(_Bjd{^$2`SgqVB4SvA zGudE)HR-iR6M&ud7x4+D1|2A)4Ya$SqXF>II6hrfxFj3$-u*yXHtlA?S~bmSg^mVx z>!d?4#cLV2W?B@~0_}4joXzq*w)|aBL2@1ba>$nhYk_#E+lE$et7f<7zj4vyDw=az zUS7YUz;jAWK)sa;Qov@6Eqqx!Y;L*y5#_OPt_{9<19K}j(wdiUB?j@)1FEc5SaB^W+~GG`k7_k`w`p)b>3=|Q!5Zx{6@cd8Qxl3ICOvl z0{P-U2K0DJGz>}>dLZ}>u62B%+n_bjTi$sRRvtD4Q?y1i)L>OZ6ftg$mGGS0#<^mN zS%&L39*G%D(SAvA8G|rZpF5 zSK{>@CSCgBLjVvk6;O-%f1C6VOaGfls(QCMNZ2BMb0s#L35>9AT literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.8-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..c1e2ea8019fb04c397436b4313a4297b547ae615 GIT binary patch literal 2678 zcmbW(X&@600|xN9=4$R^UWJ&eB3I_NlDXyhJ9ExC%-lxu&sjM$$C7Kp5MhKFGBigD zMN~#^xy7H{-ro27`{jL}56`FP`_ICJfl(Jg58wbGyiRPVj}@h>SOEY|a{xdU004NS zL*ycnVZL%5a!0WLw5Yr6*?w_WVTJHJlh2{0 zG4*E#7(dCS1%X74E-Z%P^1fgoyE92ISW>|Uy&j|rp0i_SV{i!lf%4vKoE=^9V}8{C z^EgJE>AWgfrnDH;lcLs~u&&Y(19mP0#(f|VVdYm$MMI+ou9dE+@`-PAYLad!P~@{f zT{bhc%mik08_EFL!+HKe+QTOYrk#?Pt1kQG^~PoUt)B(F9Pi=ci3{N|Ojlo^z7n^$ z&>bR8B>}3YnNWqnaBtp84QSL-Ox3ycd<*rO-CeEI!dV8kNC^GeSfy~p^{sng&7vS- zGi&^||@R^jZcI|I>$S*xiZeS;US+OFOB?+m&1wIL@Hmw>d zn~HaHnmMT*yQfsJXfRi|tT=IaV{iLAO}{tc{8YPek3ILbCg)z4%Aj~Wf0!dA7k`<- zOHWi$sGdzml6`k2O*h8$fwVv()DPAVWU-K~P1R=wF}cDqAAth`&`ZN2LD3QXQ?@lV zgvj}TIu-PkycH$Vav3>g$(rE6)3cM%SpEp&@exGfP)v(N`O8?2azMNpG z+0eOK^EFvpr*>##A1O`fH*9+jnc)Or8<+LCpO~|p?zQiwoqrl5fBP+|r33G&X@?g% z$EfFfLE_9{e4Twv>E=qKoGYzqRs)0+#FcYi#kzWm{sGwA{!aGQ)ZQJOLjCbQm+Hg~u-}U`6lFUsf}92ZS2+HJJgYGb^y6 zl3x9H9_lAl1qlg>1R-wcH%02b?Y2&a9&Z9K_`|}IgL7tY%+5qVQ(qXRNwa*3I=DMR z;)pWn;uRp7H4Qd79=tC40Ve zBhFlssqq_6UCM3(+PAdeO~R~Inzv&pEG>zDHTV5;KC5a|NjC0&My&P+K}sq=HwRf`x7v9?7u1&OK^uGEw` z=|8W}oJ^9)3j_W#lHEg@H2yOl%(F`_YaJR2h~|LiI}vE~Nx|Nj7h3l#eM;M=YZCd6 zf!Rb-IILy&7;M2|9r1ql;{{!uRaW4Ax4p8J+mX+*GGq)M zajj0vYAc$n^M)fisId_2#LaIhzQgPi=DtLvUZ zkm~chb#qT>2R7s4a*n) zF0h{ds)l9PpHnQ-RtWc4iRb_y9f}1r%H<$v^BVKt)eK>LA_K|CvN#yhVrM}iA1Mn5 z6aszVjC=d!y5@}Vl9X8Bi1r<}8mY#D3{C1k2WcnbUi%d_s$8Xwyd+++=;%bK zvBsb_mbekj*+PiyWCf*030{XjDi~oTbsDQ#D3f*n>>nD@9djcmp;eGWRLdr)q)SwJ z)%Gs*KyjAhkEa`ZzMqb7Y2)v_Y^TvgnVfR;`2bgK&UCMlh;>pBwyN+GeuhtDwWp#& zt>6-)^qb@H&rKPIGoZrk>?TO@px})Ip<*BOyS!|I&hryd%Z8!Rj@Z9fpMcvh9xnInz|a}YpZmOXr7=}s z58|4W4^eJYBVHf}d5014*JXPmwQU)cwOmnckVI0~%{n&HkLS|xQ429p!WOahBgTvp ziogj^X53{bSMn3g%~RXxV~2)udps&M{5&ji`J3lJhWHb+iq(_yn@`!e$a=m2d+0UW z`%?#L+9T z&^p(pkw@WltsU|`Ln~aC4Y|K?OxG+B-a1AT7bzp%QNzUG9NF3MNtq_M+-3&OyGGXw zgu;iTv+BcPc~0-^hKdHeCEZVf_DgZDfsV~T=vzn_PpsaJ4dGBvO@{t0*0nd#oh2;Y z5YJhT>1Q%XQ}p7t0M|A(0|IdOJCQQKpyy^bb^Ut3C(Io)z EZ`gtXZ~y=R literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.9-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..12d387345c5f48d32e10cd354b0058f254bd73d1 GIT binary patch literal 2803 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.9-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..6fe3c63a2b2aad751ba5ebb3b83a2d20eedd5134 GIT binary patch literal 2653 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.7.0-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..57e0562011cf82967a894539b0473598db9b6486 GIT binary patch literal 2731 zcmbW3X*?4S1IK5Zu^P%GS3}O!T;;x|P;!)%QH6iVDS&=3Myq zw{jKH!A8#JY_9hF|Ihp9&GY-c_t>!9TqL^YzU6v8{wty z7aB-}g82b%06+o&V3MBhb9(P|aM{q{DT)iSS z>vvN#U$fu#(@Aa3^tki9ne%*xc+kqE?)QR`iZ#sHUo3d#bqW6|S*#k2qq(mmeIUU&WT4FjN091p$ylo%#0bVWXZ1uIDH+w#+P0z(mM5uuXIgDRZI{Xgq zRy3F>(OGv01F6n@ZEyea@*l3WmtoVE!qf&xe$s0bMkX+MI zSOJ2OPM}ikYtcyk!Np&97L7jlNgF!%v&699D@D9Wm<6 z>rfiOFT(^Lz%EOzN*ROn&SYJr?`*6FlqhY(QjeKnkU`bS5H05G4hlh9`Zlx4(wJw<3nd|b!pcL|PV0V5wp$1zR@5bB}Uk)OIliKZXa%&8dqPW+-FClh_B$dtjv_HuykjF1@nAH_TJY!v zy_eMINZGxSZ&XQtDc5Gt7a01!^W<11Wt6!ZvF_Q@RvVTAd$|<5Tm3_-fFM#h|Si@t2;_ zaYmqXT$yJD4q=wsxCgm@)uWcP5hFGFX|p_?Vl|}C){&bTFnoIjyWZgM7!Vrs;sihd|G<7i{!yoz45Y<-Wu-6hg@5vtn|wq zl!EjnaKqzF$+R>M6w|ik;YFCfIm2>vhkjQZ`f1QT+s4xh|4d1G6ti|Uqe>ufYV&2} zDRvU=&&gxFWC+_Lqgaz*CmxbIhsgN0A!`v{>@hp_Hc{%}g1FW07G+nC4z78B zWu-XTHwm{sf2x4Z|0f}DCq>;YTO9=T;@1*6v?((;=~~>E$934esRVKs*qt&P3r@4p zwbk$+eL~f(L6vumP<#i`pm$;>BmMP8`S7rm0CE3W6LPjgYphz%f^}`DTNAU-K}du# z)lYZQstYW9k#)vjzR`;-P8vnV5OeyKml^W+qubH$QXi2nylsw6hZ6VdsbxX1jjsn zk+%vJq8zy~4u&W(65zMJvdm^L~K z2J@STvZejrVlxu<1rL|Knk9ddH0H)}lFNLQU#?rvZli@&>&D%CghgD5R$mLo3;kW( zM$t4GVaWT(dM?*#x6Q>?3g_2j>TrgQj}%^u9e&~7eQqW({DKQ@_rUrH9hVLZEUd5d zx*dJ!dk?T3Y-iU%-PWr-Z2D+N8$-M~lpQJBG1X#ZhtQcoJGUGbnbh`Y`(F~e(4sOa zEID;+BRurYIIho<{?oX>c@%!N!X)M4scnV|*sSACUT<(2xvEjfs*Ime@-ztHIHc_y zZ-h-3l1VtqdX_n*09Dr>%W@(Nxy>sFTTYPI!yiuFie)JNL~;7um2^&TyCcrNwRDBy zNVS7y2gZ(Ao*W8XGKM0KLOy@flRlfWzHH2C1{o#3e~Vqc+_s*=0yG-A*Y0^G&^a*nt`l|81q#3le^2b-6`1m>#;z4lRZGQ8-99= z(zqm}@wkMIIeiJ1iy$@q0i~ai_+FE~0oP@=mUvSP!dWn!LZ+iy)XObqu~TT8zT5?El%L@9_KIS z?T@dv3O&9W>@-@vvGfj8j#J-)tCW)-U^Jq&!-O{yrF;&YTk0O#A=`d(;UCFERPdgz z-FJ+~hJc>0fwKrbt63$PEK^vxUxcXw8M*YN zF2B{+n4TBSYZgyaMt*Ba9h9AGq6_VmT@cf(37wV4Y<6c*{hMfvyKbJ(dF0IV@lP^j zof;LAjE79-_zQ}&J=@!sOe;W^r*fX4X5iGfxK+P5Bc}a_fPTvQ0u_I F>pwxt9fkk^ literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.7.0-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..d9c8fed949486a7e850f57732b90f690c726778e GIT binary patch literal 2570 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.7.1-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..98897ffab13f6b70e7966b8610bdf4588715c064 GIT binary patch literal 2731 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 KLruPa*M9)Q7!cP0 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.7.1-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..af1ed6378dca2f17d077b13f3216ceaf86beb6d7 GIT binary patch literal 2571 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 L`41I2{$2k8Ikg}u literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.7.2-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..f655e14feaedb1297ca86138ef014c3c5c7e5da2 GIT binary patch literal 2573 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 CG_}D1 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.7.3-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..fb7ba8fc7841b32724131255f9a57b1516e26ad1 GIT binary patch literal 2735 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 MPd)yjI_JOZKNgrVF8}}l literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.7.3-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..8175883b21f8fea0fd661769042c436bc21a5a3e GIT binary patch literal 2574 zcmbW3S0LMq0*C)7jUuSnqpdntaS&p)X6+T6+DhyZK^n)XkvdipwWT(xSzBuF(ke>z zC@q58qQX&18X^ zK7H6nhD`HOh?)i)e0B~k5TlSM9pvTxCsWj2H<;|%NT051S%N|AQ(tGVaQOymVruth z|C@oZ9^ycZA#L4|PTiA%vIJW#m?a$D*FD(adgjO%K)QyIW<5+f7=ocBYBPDb23N4yFB+J-!Xf{bXZOt9iM>%< z;$9~Uh~Kxx0ST8Z3_1tz@b*xj-ARoRU|=exMJZs`m7Q(Vutp>{ae3R=m2GGKZV#3o z#^H6l`qxe)0ySSqkyWMlGjjL71)2it5pU3s2P~YgrIH`dA6%5bvMfUyZ+k)e+WSHz zq8Qtmw!rcGf*Rt2WNLM1zL|w#RMEwhCAezw*$KQiPkEDeY2xg6GbKlTuD1!rE_1Zz zxcX<-_wPetX?we9d80uS_)I901L>9MXjv{3;L@%k>Fp^$$*(#gdSm;B%rr0JCfNY% zH2U>ay^IDW)7+_RGTeaAc4Y*QlXEkN{wF5ru?vn`d1Pak3*Yh~==om?805*W7N&zK zZG4JGEvv7rEpev@@jES61wP} zZ9~|f7fZH(IGL!-C?;v+eaL5x)%x|Zp^FMdlV6r76U`a(ea1V*WYskv+{4SeU8AW2 zh7L~soKJ_cQ@RUK;hURn5L{Q*Y-1xI;UnSVtNG_u@9!N#b!t2>h?~9KP1YNfxS!G= zL>`Xh=<$QS%nxtTwTSYJp19ta-*| z4{Ju#)D?dE=zcnR?H;I=X>D}Ax~`m1o=dKo4up6&OlGf^-bNtUSeC-<+FmM2|1Aud z?B%5^imy(aS$`ULTrif)nlsre5Y5Gl=S_S#rYPSd6su@3tqARa? zW`)Ih8E_aWZ6%p?4Re^rI~967VoWI))337k`5Zh3>Bl+@#87?OGQg`_LtOZIuxR&C zu;66fhe~^!A;cr_Sn5dRdRxf3xY+3rwS&V*X;h1D??p?0$s&f`JKt69$2?GL(H}pg z_8NTrV;s+7EWR0t8B5 z^Ro&MTI&nZeT|p80}e!)yu>qHcpuvqCQL5eX6@I^lFQ)I~-e_4t=(D~n1i&pOSi93+k_ZqX0Cr*%9vLz2A|Zi`l{ zr`%_JS0My(Q&n95>k$IxwWgXX68&pa5b!E_l_V*Oq6GDKsv~^h42r{a2K&j zp29J?ptmyXVis7Wdr53Jsjonlp&cRjmCKT&^;7N}`eV2&D&nVN=(rWoxK(pd# zK08u*;pNlEUY@dhQm3BB%^3|1n&J0X@`_O*{8cx8_t{&XAiFy0?+MSDxb=Fzxm z$^65TLaBMj$OaAFJ%75ff3YfA2b36j-HGs5a>%mW=ee~JmBcBR9a{&wwMYdOBQ`SbXyn7X@8j17W{l{0Ruk&(7Aa8-7}I)X z)m5HtnWkwS&v3+0+d}$BG(}@NI66qaD6>_c`5;$(w; zWpqGV*3IFo_$#)Qa@zQuTAS%GF_YjDq{Er;ZR&-%e-ktV!luf*Np<-+4Z;(iK2R_i z2#vAFu^o89@?-gkzd3)_qqyYNnhfe_u=KvC0FoCsRi5nsGshTwcwj||)hUA+lL953 zQQh<+I_!l8Q;FLiDUZZj^VEInZiPKpB_FD=G)!E6xPVE>99eDB`+g#Lsy)q@aHadq zdyg}&i7OxbIwmu{K%hLk&-tjaHk|KZrAuM_v|K#3;z{1*E_SG#TdTt30-q0y#e?W_ z!oF1;b*bG8%}hv}x*Q?6s1a3UT%OIL>uUQ|Th7blu_lnq(l&ZxXdThv5rHD~!TIV9 zWnV%!Ip~$$%*Xf4Znf`=x0w z#(39&wPg=hj2^h|6ilQO&OW~ebfEI^OtjeRUZKS2UBg+ AFaQ7m literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.7.4-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..4692df89731963bf3b44068db702d2c410d782de GIT binary patch literal 2732 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 H+`sET{Y(+Os7ha)0j8bO#)6eoxc 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 E0OoVwTL1t6 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.7.5-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..9161add06b574a09320e74514b447a0f977ecff2 GIT binary patch literal 2734 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 F^&h418R-B3 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.7.6-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..12af78e6463689fd2b3cea67462d34e003f9e851 GIT binary patch literal 2569 zcmbW(S0Eb-0|np^&cLCIBD@005k@ zUSNM0A2iqp<>i6&3Isb~Jse$pT(BNsq`SMgH`d)274Qt}|J30x$3%m1J3pY*h;Jt&BN9GZo;LIp@xpT{J$ z{AmBu;osWO@j~-zNs~&^5x6rax0pRqd|;!tyUbonDwc>X z${2VOfjgHn7Zb}!ZDHYTXWq%oY#Ew8?BR2ew*4VEeSAI4{ zq{PK;mk1M(qt1l*svo3yu}25xkJLz;=AutXy&j~~UM1t{QAhJ_Y41DhwU%TH%wh<$ zebbTx>k1{b!L5PmnO3?QL*=XnZ}!dsi=_f`uD>)DbmI_^A>22Yeib-t%o7N%3UoJm z6RU0OHp(d;w*uN?p2+pT)0|W{e~U8n@~SJ#_YgQ6+-9;w=vSanZG!D1ovJ_I?caRZ zJVyna#+HWrbQeuw>!@i}YXCed%eX?Z-KMd_mEZViFN6%Rh`pP9CT?xjS4i za^Qv4GZQOp9`yLO4?Z30YW)x|Y?^cOO{#4!FibluLt4zDV7;+0u)6%qjVZ%INR$n@ z#w(;{2KnMox9#C%T%_sTvW&He)LJ%0Bq@Y8GTP4^d8Qr(O@wcN#4627F9YK zFGhmqVcm2_eH?0y&tqlZfH!oUU&;{$dr0sT`P{Wp!8NeWFLEeB8#^7dR=I*xD zD$yc&H%Xdd3&AF*RI2i?x(#+j8X@S>`rW|Avz2td+|tvWuRoqrw*;(GZqA0#kiXNI zF+2@u5k8LDdIOWvMW*n76zVn-Z%##K#*@x!QurmJB?fOHr#f?Ds!HNI5p1%nd;u;N z>;5(hxtj_VfO7czF_YtnzHgQ=OAo(5i5&%l#FbJ~RZ!C|25lpmp;>Zjg^jxdS}y*b_tl-2E)C!}L|uSR!V{LZ55ka9lORvOl6Tx3o~S$O^#0Q%9TXV(4vAifyl|66BWg~^ZsrqR`@76i)=nGJcP+)a?tmXuGXSPHm znWC3cXvfv$B&lU*Ydu}R#iXl_2JY;U6f4#)5q?gEvz`#uePK`7tGe@ur5glbF_b10 z@1IKGessIUhUP1)&{bEhw*p2D4a+wP9htXBtO=w>Vmi`wnsfyf|9KZ+ee)#oD|?aN zW^ppjX;prce{x18Q`q5lY<}VDHu7aE>04?1_|~N>sNn4l=L5|ZwlZ1k4!ToSE`fwH z)>!gzqdKe}U=_?U$s9)D-m5dwPtE=*3k>i_OgXL?u?`~Ig`(|~K-YMlaN_WflW+gr z&O5BC93I`zl2M+d{J;-{c{T=Qi~&?%v(OWMks}4bUNm2Oi-bJS3rcVCf-U&%x1FseMkFed5ShAg9`aa41T$>A;@v`;&XwH zde_poPg6FA`elweH(lE(`>%N_i}Rx^X!~Nl?FwG&jYnx+ll6PS&eCC3nt> zcHz+~1vmfEgD^TR2xUfM@0C5yl|EmPt=!z;bJ$>(A)YhEy^iyrtCE$CWUJ)WP`UFc zbX9)D80-SXo#~_VMZTYYimY%0Y=Dna{05UGjox{#HZSd73yNFjK_Y< zFbQX}ve|kqrmuQ1qsu+flM|cU?i13rFJkWS!fIw5ZryuULCRFc*Sy^>ha^FoKRkp$ z;~9YDc?858Rsxav_OOA zmROFz7y9Z1`*=yJMd_rWAx@f1v*LDRMHzVFn?p}?!orBv7Tk8YW1910ZP^sYQX&tk z(6U$Lv%337#L(M)qb}g$QTL2p)nS+TXYT3_{Z`fM9*v!JN!~GFBaaVb6e6&N-`^Yx z^6t`WBY&X|jo&BogW@y4&zduizkzEi%jTUT9EDe#4*7&=BUJ%A$n1Z1Q?eQlwzA%0cpEos2 zvpE%lgE#A5y zr>c!OPWH~E*hjE?!71ID`Sebz#j3K9G)I7e?hb0eVE0U=VZNq}-QnhhsB)-hzar~q zHNBW5o$>b7xs=l|oGp)M`mzi+DFb^N`_zrhCp{0APW B;5z^S literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.8.0-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..9e3e98ce0ad3effc595fd930a3c5bf7140dd5f4a GIT binary patch literal 2986 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 U=up%Ay9WNP(_i}k6?*{SKRbTiwEzGB literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.8.12-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..fb085250c27f8e97b5aa1f2ec064e14c4e8da990 GIT binary patch literal 3056 zcmbW(S0Eb-0|nsNn@UilC^f32w%WV4qP0g+BSJ*Pj#&+gn6*l+E9Fw5_FlF1+N(;7 znoaFliShUT@Bhnx&ck^+@1Ln58MzvO6u<~@bt78djM;VZ(*XckHUNMe0040JL4t#z z{vKd|HzeE{83K0kfxANep+0c1GYt07&j;q{7L4#g`a3!!T|A(HZVx^EeBdlNu%FwkUW0S zfoBX;ES!cJhsbSIcO=-e^-%S}K{&bQ9|L*J1lrM_WiG1r}?-ne9BgQ7SZgdWJ z1+~?8Md;qF>5?eAlI<n&>96i_EUk71r*}cB;IzQkl2%bNYxs<&6_Gq}V%odSm zD=&&0Bseuyy*$X zJxg1Z4yFn>DS~w&w?_@yzOJx()WegI$7g0w)JwE$9iD0>-72A5DDW*Fen#=ufQ73P zeP{9RdZEy<`7*b>cet^=l$X-s=?^8YgR6i&n}Rz0l{-7L%^pn;??1sT7s%rksi>$; zjwXHz%()m~1g_z*ji|v3`fwC^DoWchJhxTjL zfTPu~lYhrzKRV9!ui|UVe8^M2&Ag-aM;&!2D!)jJR+p(j_Abm5(!%9(Go-H-GXv&~ z7m6MAIGG_vc2kGnz`>O4M{K2Bxz+95Fe!CuXjYHBnV^^lN$AH)>dp(M=yBmK>7aHi z0!7yV+`V=-?y3lBi+v*fLgX;|Ss?jo%R@eM3iFv5xj2P^DG5YhcN9qxG9M-*NgEp&6f2rn9WVd4f z0_SSltZu1?p-b7Md|$C~;3Y(WicI8;)0|d##I2!p5S9$Xpz`sOGR9;fs=+Ac+P!R1 z;xAF~Pl-T*3A5B=(NI}8326wG_J&Dd*<#+-`_*zchLG=PkfAc%hz-bSc%ev_lCRzf zidt_Kp75vCD6kF6`=q-`&MPJ0o@`d_#!v%b^;T2*N1X3xt#jq^@Qy~T}gZwbxS zR!#LcCCf0+N~Y27;YKrmL|oB?KTBXWsFi*7b~LEwxD7p+sl()3BgU)V4N~AdQyvj_gi0-wRM|@Vd5tTJ@3bxc3X*9t@(`;**7{X zB2;Sj507J33$3?o8*t$y8TZ4|(H!YT8}_`4EhdB`8;1aQPwyEIfpY%n60}g3+n1Bu zP!qb!L<<(^JbQUHP|NgNd0#P{z}yX+vlUEa^3h-Q*y}?p&9}0fQWKZTZ*h{LS0eW^ z67Ew#HwY!+xh@|cb#7);i0M_!_C0e(QphhUea+@j-NKeQKQW=a4PPKuLz)qX@aE-+2Dcca9_6%e1SgY2KG6gWXVTDx zeE?Bn^($i(W)H3*xLzH{+EwNdQw>Ru4D}Q7(kOx@`P3sl`9-yA2>S|`M%P229KIG7 z7^Gx8&T8%y9G5C5*;Wq{$(y(H#>RKt=h=&y(^Kb08rI*Vv92+$U`* z8=&Cy()8(o>6psUuYN{dR*vn|>1=AhA1EdI6PwNdR^VlzWS!N%U%N0x)u;?udO|Av zBb%AikO+P~?tLFh{+9Sdy9~*y!`fSW&XiL4L zwd~EgHgCT@XSW_LjhoXlv&-mtre7h$xio}~5(%%#a-0(F#Y#3-)p-f$(@Ya7o6h5y z1Jn_$Uz^RZba#sEnJ0SGW(RML4PBwW=*vY#+1?)aLpSkQcde{*HSFs>g#o{*gQL%+ zTSwKeBPIHL;*%E}qa+Mf+=`rj(HrG{KEPrHr@hq?F=y31I$^dJ+pfEY$A`P28=Uk) zUy_%#EbA|fTrtJZlLxO@*_cfx-OucQe|{K%_M1ZN?T(a4!n{$7AS%aAf4wcc7iHoR zFM;piQ}1XTPTdI=w9`{hjDMP0|20h3=~;7692RhNbLeo{(1a(_@U{LvrNXbAk$9=^ zTHF%EZXd|}GZ`sM&31RiNN_xHlu*iY+26FLSK;^OdveP(CF&@R1S@mWEFgb&A}26R zZE)iP>2#9CS(zG=!QA{`u`Ils>BD9Mryah zESlqM;?N4N6+bko1Q1ZGZB`tvitCbgNQ2T{1Z8qrUV4e9*7$WX7O3H7u1V3zxyDAH z%7-d)+33S(y^$T*8__kMQq8GgY{M7b9L;fShj5qUIpO#z1sYpKDZb)oYSp_-X#P@2(tD;%H~cs z54cEfFkRG`E7=%}Ft&?t1m|myPiR!C)7baAa^BSr?n45?y4v$@C)C>Xd+sj(ZpnB#?wR5NpVT03j6XmQ7RY> zmM)n5k+=tSE?1J44r2_Vxhk=twRDG=P|0=yrydkN*G;@*ywj%K7#se2<9!K}7xD~Y zN%uR-56?k#_}A9}>m%3ya*ro^q>4(FF3t*H>|*p`e~8{(?-&8LC@o?9G0Tn0 zZcR977Oq>{4trR>^vn6O?;b>ZDUWig@}+Yn+wRUIBolA$+lk7}{u@xLNVKf%n?c5U zm6N{wY`*O*O$cM2%o@yFMyS+9QNn`{*IBIPmn zVSQ4x@kK+CE*6nQ0dJe0uMtg)III4A)3r2wWNJu4sz&y|-TjB&|4kIhzw`eo+|-bQ S^4~YfpSu3pz(1}B0R97$b~1IEwU92sYC3OQSUGP21?RvAaKx1+PO$%qh#lud-}k+?gXbM_8N$T^v3 zW_$a;-`_9q^L+SydOkegen$GlBq{(PfEM8BbYT|0zQE2;4FJSj0syiA0KnNBE*9wK z=PKss1c%wdgT)-YVUBKoZr(64J5Nt>UvJOnPC-82aKGnva0gen04H&GUvC&C2`S(i z01ycPJV;1zk-3z4Q8YRFMUf`A59W5KgF80agk4#vmKrI`hh}v{wIklUS~~?vR$s&=wc*;a z9f8QEj_`*!zaA1PI1=wJ$}WGHE;+DK-&NcMp_2biAJ;@o+Y=sS(BM4@JscDBn1qf=LfiKop`fX(;<4bg# zP1hox?3t1LP3oP-V3rX*GF=JveEy3ftSRYxJupYr zE6(q{YXyRbPkwUU_X;zxmiAEGKVDVjAYA$HTIM%yUOBVUTkcYJ@eBun&)|p4(vgwt zY%TOK0mosZbE_D`GA+Ki?Wa%nQNWyCz+&pq&+AxHGbN(Pe&OIwxkNxtl-=Wl= zGexW1J^kS+G$;4t(Q7^4g|E|TlEOrn6cm2TbT*isfyFtgffQ=kMDaqziiM~KJk2wg zkMd=^)#4}QVYiw~N3W1Li7FwGv+3+Nxp1W0+#wY$NpZ;o6O}>nfQ!A4*R>6?4KHhHe zCMk$~b%a?6*{ ztR+rFwSr+2RFCABi!Vw?c5<(3_G>J%-l@|THJMAGt6U^HD$8^CQQGMq-&g`bNpjFR zg}GN~rv8KZcPiN04zDW%*>W=tOq;D_fjZC-A8%DiA2B3ZC1kLb!aS;ompsBMH6+v0 zWLrku3oJ07+XNpb81DaLnvXoD0cCr?NB((qw{P8X)R@hqv+S~w<9SP3J@~crp}0UG z@U=7%i{?r0E#NAL^+Q3JcCV*JcbKeQ9*(bOMYl}xqJ=y3TB3ej1|>5GX`mA1t!O<> z8a(Jt5jzx$h0fC2l``A$8r3^gwv$HV;E>YuS2|@aGGro9n}n;Y*i7G`(XFk*o_jS>@I)>O+qfqr)=t35I$5`oSdhxp zE<;ep<9N+M5&-@C3jz=C)$p7r(4~6DG|2@TVLXl(^S*dFWXb^+deKP_grW#x*Z%w_#|hGYT!+w9;}Ql9;?6V^Z&uE-#232Q6D0PVrL zQU7V6&QUg}AW|CwEpi61MJ#8rjv6*csl!>}s- z{Az~G?fG+smI#=rA4JncMV(rS)hHV2bGj=3#3r#eO_7Dm$X%X1IszLR=+XOP*D zC%N9dV5i~Q2u(q3!|bsrAMv|ya*wfb0oyhj^tS8)qZBgrwj)iVZ3k_xNybTMm10yw znva-4iO$AsEmEi{kVU1T1KrU)7m_%CkSq#2yfr z*d*cOmt#T!);+gZqg}lH1X!k>44yYg`IbcIMR_i@n`|1YKfoQQEicS;E{qC?&5|xJ zxZ8x&Bc2#*{X%eF>y-DYQKYeEjyeZEzC~4Gs z9K19rxwg2Nku-^EA0qS99H(cMpaQ-@_~bb$A4)CA&D{5;sIyE%IjByS2i_H@$JKsn z-BG5oj97q6wRP=c2TfnaWQBq~)?wN!KsVxAzHUV;2925wIlRUru-aH%X)pPuO+R9K z$7GHy_lvMW;JogDbcVxuzy5KO71paQ=|dwRk~tMRRi zX`7wMMy`xyN2Xj-tH`;aibigr*_tNt+A(StA!Z~66#EYyI10`CE&Dxr+LQG))ypx^4M|BYvgFZhrnELhksPU-%Ho<##mjCso@0g0F z`j(A{TWvhxtS&Y)MnJ(B|9yZ(NFny3okTb{IJz$2{&R|%yjXJOiVdD`gBh({z^Wr1 z2q(~{^Q6Ms;9mYd>dKdJ$vt;l8gyP{I(uI~ojcLaE;3?FjGCt&~PU7;qLG!(~h zc*d6qvUu!Y_~we4rDUIB^g~Tq0deKIz@WlCpK*H}6}`^a%nC0O4m~5BA{$SLXd_%m zu0n(EWS316l355wpyeMrb!!S^6NIX{UQgU*$&jqUL}QWxed4VCPK5IKBCdD4Ko%DE zwcljb#cS9%yApirpjD>N)$I}tjjClSqLkcPQ``glsyef`eYxh{qv_}k-b~*Brcoo; zS9!F>urA7Mc9M^EGc~V|tTy12*%plB;Ps!#k^CNQhaI~@)Ku{{^AelO=@*xOidts& zzjD5KeOdBJUZVb~2Skw7L-d3HP&MKD@Bi)ie&$@Srv$#1z&i`fUWFy%Dv3(SeMT+a z#C`IXZvEaL7Y_Bc*WqdCdibsPVZ%C<(LCoC-&552-4jjOIeTJO@^gCj2iGdj%zAeO z!H45wHQTr{pOg>Sumg~=A;<;VAuoDvntaP_F`Ja-dyczN8l^Xr_7S2VsSx z%J{lAXDrzZ#ce<-%295^#7{r%_c#+{HeHjiX4!d-^of8f#Q)p7|El+Y6G`+h{yz&h V(kCVRcTM!Sj(-{O*Xsd*{{Wkt(Aoe1 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.8.14-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..2cd0f33f3abcdbb069e9334d29885b221926f5c6 GIT binary patch literal 3055 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 Tz4Gsx>Q9~jFz}Do0|5U4G;GbW literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.8.15-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..6c1a79a1e7d3d175f8921906543193a90966e53d GIT binary patch literal 3055 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.8.3-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..27ca3f029c3af3601d5f5ec8a08c231f652deea8 GIT binary patch literal 3018 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.8.4-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..a069468ecbf0b69ec1f1d4ce5701d8121a916e48 GIT binary patch literal 3037 zcmbW3XCM@e1ICZb$Sf-oXYUb;>@v@tS-Pw{dmQ&V<2VHL`YXldM4!zXn%N{5uVH z-l7wdHoQq);TslQZ#FPn6ujryzy}Uaf3-qiOCLH~cGFZo_=jqAqbSiV=CPlPcf{42 zqa;$>w>SMA*!Jd*X!ElLa|RtR;5tonF85Q(Ho|CQk+;-IFklAct{_}6!N70DO&n3u zx&$A*B$*5rMcFH`g+fJRRq4vaC$dyY=;9|1K^LyvI?pd`xqaPHCos_i+haMH7M)>J z<@9|T5bZI!9f@B|j1CuSOkl^pYC;NcuzbU2PNn;tt%(OAtfy$Dx(sjW$H6BF&yv@P z(R0)uHtfdxfLXVbF`rxDSa5{?PfHD9=-4S769BB?B7k{M;@y&vv&&M_p`j*04x_J-T~gc?jfvvHt*_V|0Zl=_2qS+H5Y`0%_K}@qvGQ%jV#)WV#>M7 zt3^tZv^%=nwuIkD?a1$q%dDd4w-00QHL)UqTfkyS9fA6)hk3xL`CV%IPA79hjT^W5 z2thVH-;j7|&MWc5{83x4_UgBTrWf42HV%)Tp4~+MGUeg00mdBWvyz*Q@@1^b!soke zTM_&axwX)~R=zreV#U(rB*j{k%JVTqhS^O7N3thy82pt3*I{b?9#E@s~bL8w8l;j-}!h21OXQ`g6XF&VWbw6g={j{pV;dvju9XQ!-qgp@cxt!AWEiY7V^ic<7w6<4%(*j?V!49UXSZ4($4z>^l+`L{^I7spHPERLB4|GFHtRpMU`J>+si2K)YhhGpcH8aNz zdrA#~^7VBxNSE%a&dS%b4tFvktqYd@8o_;wCKrWHs1?lmo2)e&;uG|2(cQ>+HH{(P zO`O8;s9iXxv7r_L84Gph9dWmTg1TtCF+7oS?s{Leco=EWqTVdJvXn;Og3>+OvvxJx zQ1KwZo_F?Lpz4d~pl~cn1oB$3-3bvqy?6WFOu1~y(DAjX?Z#XiBf>!V(FjkJa&0^J z_ndcTStS&cn9Dud)UJZKy06t!D(_F&crA$pKl#tr5`jMyEHr9Ufj;F&+nx1iy<5BOAzBwve9u{c%ik z?BwaslXpAaVP@-kh0rWSY7-F=g|5p6&ICDjE2aGI zamv)W@0;rR;KRO`m#XWsVje~5;F5Lg=#;6Beq=~ABit;!YTxTqmWX@}dL?5PERT;O zF?Fn1R0hwscQ&wHr>=4PZn1SbJnD(Qrj=i@Ni|b_7#qkQ?QiZPF&`1}dDj6nrlwoc z@VB5_R#P(jvvKzF);Xbs{RF$4ScIbZU~3xa%IuMNPh2ZFehtO3asy_q8Yvwo=(u+W z!P^tLZ&eD3YbD0NdN;J&@dJX3Nz@FR&w(9?c9vNxU1oM+3O_?u(!t`Ok&6&Idbe!AQjGA$5b;IL1dq`ZLwzj3^*f_$3%YVcG#m`d4gO3*0z?8UC_3n*=fVq zg_dp&*XJIcRPO)U8rLtPl?u!p*8YCi4?#UzxHSmX5k8$;XdG2i)zfRR{fsZcJZ-Aj z8Rd9jyWGeeWS5nV?RP&)mw9-39_rcB7{fDZn2%1`N-g;`SfpI`tLnW?l0GY5kPOsh zcYY9Q$Awz)#KfQ0J*?m~+B>HjPw&~iPj$o6arQ&Yl796H(|p#X2LCTS0@_;~qOot| zua#d(v0s#)JVHd_vWY1Y8zwFD`5O@%b^#6i-ItRrsL3NGo!DCeX*UbM_vPR+gpEDS z3Ek$cx#BLnG(vl!!{$0%cVQM(f8C{zOV85pN-;Uzp;4v4#)x!KVSQON$p7?h=2hfU zY^J+Yg$ogyhPZUYx~M945eFwWJrzQ=%ZT`PY~c zt5jJ!>otSa7b(#ic8jadY>Scqe3LkeQpU;fq`;(*?S=0eG$aN4ls(OmWx=4oqn>B= z%~F;f>we_Q_CFFC&5HSWrI^Lyk_zcHUrdvC zT)Jz0BVRs#=DY6`-7JzsY9Kc0S{IWdUE%t#pGzy2c}ANkXt9MdFd72?w`BkE?EfZ~;a~iJ%54i}V*Yo{@TXpX==n$D H0f7GiT8O~$ literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.8.5-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..ded89f542f6ce7c2d4b05e07d3f12442e51a43ca GIT binary patch literal 3045 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.8.9-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..488a54d42540d1b6ac5862d71ef4fa6bc1a29f0c GIT binary patch literal 3056 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.1-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..5a4b0847c834509117c8f349086a30774e15c237 GIT binary patch literal 1976 zcmbW&`9IT-0|)T8`&h2rM?o0ivc}Ykj0C7MO$P3>%}u^_O)=*I-UqE?3`oZ&9TZtY{aY9FqSs*q?2NmqI>paX+M{qP(h7*dVlf(#%?^yV$7U5_Kd5D_0o6Chd z)4o|@)BCu8)D0!&*gw=!@eo(`VBDELlwV?J_OP)iN=D9u`Z<Hna(dbep7bjx-3 zk6O(lQoHhGq+%~`)zMM4;i#g0t(1{*JMwPnuxk+yf!L7wg3@OiX6csh3!;$g1KUzL z`o&8>y_P$S51FiLOhp6CnO8n+kW`n$pvlD4!4IEl2-8m?p2cS_xy=yR$nfDFd!yU+ zU;bh+y7eJWJCn-!qsQA0*QJ#?PnxNh*NhEhRuIdQL9?4&qgYyCV4nCLBGMN6p2Z@< z9_ib3)lH9{>-zBasVg2gV>RCcBlw_WMaKmZsA=$0-5gCJ8M4O)oDVND(Zm?~ z%G_rE!$^C=2~%(mS9xMI+%~*A3*F)GtMcQ_XQAf0W= z}?Q*&+6}Go0Fd)kMO?nypUi=Q$=g8L_g$Ig+qMbocp5<=2B$Qqa zO-4#1rA@VpRCbvj{b%=DTKk)o7yHL$h!o{tCXqWs++fT|PVUdb^lJ%-liF^Hy48o? zx^|g7v%Jt|x>`OpZ{T=marSjvmCM2xPQtG)%Q0|pML`?fdS0-#;XkfP3TS7FF1tq( zSt&57q~3vrX$*J^FPUWCr||r^aAnoCT;uPIdT6U?GPc=!uzQA~QfVpc`9!J3^z+b- znsm*t3fAk{Q(ZKb(M(I&4L(gJYVg2->$gDP9Tv2Od8@I+;Ujk>=?bGsnYHtgXR+UK z2>PntDf2nP+ihW&?7%aV$cuPs>Qcy6=>rt!T9p7Jp6x`xy(8krb1jnzCvg3iuEKa; zV>DBTAm6u#t(OiT{bu)s3d&3*?J^oHXd{TV-n)5M6=_6v#5TO&eSNtAYBBG8X|^nC ze!XsWN2%7BK(EfNNa;l{*J14Vy!_1Afk7%zlew{NEBY}Uc|WdD@#r`OLn!ilzMXaaFf%)sS?{c5?|{ zZ0N*c4)jP!;S`kGPYHIVxeFd%iD4y|^r@@(MRdIkK0peP|<&l^EksJxL0o%w!eFDu#4iY{kFguk~#PCBQ3QS)|=@O9lH70}QvG%kk5n zDsr3AD$Qu>ZJpDzLw%|mp^M>y$^tF1)uOv?lyaAs7GY%dFx|#IZ$LO{&|FVB=q-BG za4_}G#IEZXRj(N|T+r_=wh_!Q#`ZnBys}i3Yt`+mwR74Nr%h3t4BK74xxL}l^xe-( lOdKKczXAPi=zl{L`*;2?PW`;3ev1qMV!w<2y$G3q-#-ePw($S} literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.10-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..44098356e5791eedd931d5434892dd356e26ae09 GIT binary patch literal 1968 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 D#u=ya literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.12-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..1162a31b3ef64ff0ee97e080f75e053b4f446c14 GIT binary patch literal 2407 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 Y|Cc{3kR0HD&uo9{{AYdtfCd2g4;ef_wEzGB literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.14-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..167a5d0b86e54d91392f33d27f8be3d16ea648ac GIT binary patch literal 2408 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.14-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..ff8ca7ee012c5b624562c6f325a37ccb776d97e3 GIT binary patch literal 2284 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 D&p(f6 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.16-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..a32aaab739456cea7066c661a89d29180c2e47f7 GIT binary patch literal 2290 zcmbW(X&@7f0|xL-jaJH4Y799xDMx6?wUA?kIp)YQa&F|9wYka>Lot+db4zZfMD-HI zTVh6Y^9>DEj|vaP21G}M6Np$}f?qI>6rhfe z3J(MC2LZeQfJ6YmC_Oz$`Je&|f+dU6JMjmF;}0 z3mDaFO&!_j<{TY4@wMI9V)=xtd)rZ~$m~we`}J(r?y8TD+D?DBsa{2@UF||r5^zX_ zl+Ta2iS|uqn7m4Thol6Ev9$$Gjtk%QA12j*Ag?{pb9CHJXoHR2JTWV`&du$jMa?&S zx2KC6b5*2{AGZ0VjcL69>X=ZmyW&$t#PO?d*}z-@!~-fYb;(C04&Bh_aXWWu4bIyl+J$lK77? zuHI^}RmK{xun|y55`8E^(dC01GFD`D?EHj-M2!Y4^1ZH4U#EOgfG~5=st(y}XtA_C zw;B7{GrFQMiT75npHIJn@ASzd@zVGhqWnRO=LP93!{grQ2&WeMQa-D?{}i%^JiP9URQHgO;(EMvJjCwEE$in?N<6y%vQ7Oc)M8BkuFCA#jZnWTrvTr1K=W_l$E8_{;mf^*?kip@`S2u8lX*lv#*Zja66HLHYb z%dA6%eU;1p6-}Nh(?20gr-u#T@(n9hm7zsSy={{xDONd<+f|e)#G4W(Y(&JU<#n%wpv zCoYmzF}B4oRdU{EXag7INJ=x4kT{oFr?{L45vmO6?(lPF2&LfA!$$n1M(goMhVgV$ zs%FZmc*%MEH@`S~M1$?`jj!b8-^BM3nsn&^8Z(A% zQEQuiRi<$yhqI;5xfprLSE97_ayN5ATo$!zpbd~dig}`=bzhFnwPX0A>uyVygN&oe z#X%!BPoIEPA(oF8)aIYM(scWb4>%(P^(AmOdFa5n+4q01tN9QvCLd?quM zyE__;`E=wwH1WQCxilY?Mn|P;rmmwl%^kNgA(pP5@vkH6d?d@0=Fh_>I`5{4M=7vf zy@1q-)s>}dQCs|9)x#pzax#;{Vg%gy1o4B7UVXXBg)Qs`VYTJ$Sm8`yX)_+$y|U)p zLCvqAYZBWVxPI-3GXA&LS=ZlUff#jWu-{;!ij|sFY0l7pdk@N~ir%(FOFSn`0i@yQFB*0?s!+%q~`7CZw;WA;aCm+gDn=`va3j`F*= zb0J-Zi}pGmDAw6KA_tqEb{{)^OQGL1aRwJFU;5Z-(>2xAP?36}S3yBJ&|eY9yp1jR z_QjypKV;ag`@$SjYsQ6Ur`fZaAbu~Sw$Y|lpA`TT5GB*QeJV#^ADeiD$bm&(goG8XR{Q|P#-$)M1{bwG()Gc1t_nTP2OiyB zKB-BLj+&Me{7wqG(is&*o=s-j=&9RQ1qhytuG5(jc={S3TENgN5fEzDEu zakBg-Em!JYZYsFXmCO)#1_^3`ZtwH*ypUFW(Bkd3BZ>q@?d+`WbUk|E`1%kYwR@lF|;{O4J%eY)CIkKM%TbW zj#O$2+vXgT!yI#eKHEemgY2dSJc0Y=s?UMnRIu3rVEg2V^@S9eok)VoyGzDWjAupn zbA;0dL)$M>m?Gq`TW#ZJ>-^Bs?XDph{Z@^80)_dQ4< lAou-mdi>GHf0GFOcm6Mkplv{c|DJ(=>i1`3{>TOZ_y^a=E=B+V literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.17-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..0899bf96096ab4b67edf72a5c40cd9680369c523 GIT binary patch literal 2415 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.18-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..2634e2990eaf0e2b38b9a213527b5f45b1b1089f GIT binary patch literal 2427 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 PJv04N=YI$~_wV`->!^x! literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.18-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..e96f2583961dc28856adc8ffaac030d4f8e9cd76 GIT binary patch literal 2303 zcmbW3XFSx81INEdMp+q|8Ho@l(Q)UpLozyKWn7olp~K;dvPZUr3y~{(WTa%3y~i0@ z{UtjNXNNo7uiyXq|H=RJdGLPpdH8v~-UvhbGa3LLzz(E3Q7t*zxU-a)0l)+X01yBG z&@SL7Xx~R*UuP@^h4lwJdSaZ=zGzPj80Fz1@8ju#bbjjPiSgoe!@L~H`Z73nqq;NJg6x7FoOFQxk zN1(zgwYnmIYD776jwsQIeP>N^8o(9LJz4(5kMz1^ zpIJI49(x>85BjkT_AqDF={b|i{iWHocJmHL4=~PG5N6;^fLD#o?r7RENYuT*=X2u~ z8>m%$Jf8GuUQ8*&ZBW&K%c#cau~U(k#67VU&78=2#v-nnO-8+U^`xIy&7YCuZ2coH zt_emTxM6;@ALLn{X|#w;PSS4MX4_|Pz+{F(+34^kY zuVt&|3>Xy;tSbzytc!9 zkzL@bnSE{^^>`=y*l)x87{q?3qyL0TKJ@eA(X8n9u<7x-t?nv54aZ~qz7K&S9i{F* zWL0Pm(O7YyPGt7pzAt5b#`pO(Nb&-fK{JMpfKC`Q&tfUGhU|#ll_BZ5ku){srB2d4%pl&0=eWlAoUjHup?B5H^i z2vGtDZmj5@tdwZ=(F^lmXeX_U_443g7r&FjvJV4pURRLxw|0KrvSuyn3{mSAJo~fi zMMiX1bfWvBi_cs8l8~ns+0!MmNd1~mf%qh_ytJXF@K_9QYwQA{-^M6R5USbDTZU@T z3706cd(_Hk72xElXVb!=x4=Z=>Js|ptsuM=p!%}!m%&;tS^0x?6r%QJrKEWc7L+Rsb8!&GyWEnym7fg9|Z z?z5q5*&?qy$`FWq64wQC3(O0iOUCgJuZyg2HI&tOJZ)7Bi|wMFla(2|W8q+9S(v2F zF00Wd3(j|(;nCoCi&K_?Y@tNM%cLxJaiG-Pd^@$?VbFXl_115c`y@@Y*&_UvK0MGe zsIc}&kL1fY0u(-EPN%*m%}1UZ*jKm=YU6AL*MrB}+RlkK)>mmKow$vtOPh6%DaFX- zKI3p==ma&HRS)l6NpW>DMpE48%Oxz^Gsityu&&TA&`gF`yUePhTq9+ZsOFPr&?tuG z0Hx~q_;6@U^t+VE4_R5SI&gOg6{;7!VXNr^l=WNYX|%$in5nAI-_T^1M6MqvEm!;K z(sf={KP$E}=lOCy*X3B zjPGurEh^kdN;_XF?-_YaRb5CcI3b%=v|Qv!AFitRlhW>$9pZ*oX+?4bIALHw|y@suRF<0`nKLIDk$ri=xffjBjvgH_J zt?2o^hiY(|qY%pGnxXBmv2w_rO z&P0FJEo5%juH2~MXhhPyk381ge7?uXnkzzO1dKRKow-@EK&%ZJYrjR3_2c4a%t{nZ=*_y;;kT)Y4P literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.19-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..214057585eddf0d482b096fadfac996d5b926d90 GIT binary patch literal 2425 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 rQDT7Cz=IMzGPzDHzxVMYr- z+x-t@FDiR@y=z&1See&igP2$L@M@HIAm_9%Pk+uC+F9~9g>LtE*_xNrF;%mPi9*k1 zA`AGWBCUaNU@9~Ygqe;r|AciVGwI-a> zeGc2BI%nR*rEK!2WSHbDR|T^^A6ne?8|-#=m4M?$BeAwnS*zs2O_`E&<0)=Z(BeXlwd1G>H*CKL z6++MnTKRe=HcKH;$*lTL=36O?*W>|p8$#R7yQ>4o=KAORb3ux|Dz>Lus|fj|k%c}z zOBiwdkJkkA=463$`oonAQwc`)r}yPBYlqKMrz zZ<225DkH3H?!b-S&&Y*YbM`KsOiVgGSu4Fk^lAOVeJF4;(e`Q`Dqg87F4S`BS`k!^ zFfVXWyb!BL-Xifq&h{0TBTT{z^PSIu2F@?`s>GbBjB)vOH1MzL8%rNiDF|sD{~k_0 zKMFMf5f3)grqQ`7-nWBQoOgNm zppWJeDY)!L6fukbhB+e8)Bp|ZeKPca{L9KER-1Mr|IJ{(rAepHKJ7`owSY~35uInM z&o3dYNgwDSF%F;WHUn=Ois0A~Kom2Z(r3G!HlCACF7%?6$p4arXUCYbXtyc%0MP-1 zQB#rruYOfo-pqh#U zc}gwAZky8Kn!F%n9Qu=_qs#Y!kPWGW z_;_vU@O5JiYke3jMv8hj?>0w2czCO^)xr&`RyZphoMGTGk=yis)%CnjT0)0~nj<0W z%b5uhwwh+P_~Go~Y7*L!xeayynqfP@e3cyf71_ZPZB_i(fW;4@*19}F2j56$O)Yii z+fy+nTxcl50x1J+DccfZO++8S()R0;4WvE`9=8wf@)lnsadzgs#8elxX85|vq5%m? zA*zXUTh#AW?JG~zQPN0zCT0P?vapCatC#&*|59Vhi_Sf z&|Jd<=3X(m^HcSaY+`$bIplHlX!UktsWkztu7?`;_y5t8mYGbRKcwJNFZ)Dklu!7Z@TqsYFu&t!+|(vHdD9#%hb@6CPt_D&fR><4x-Tf2T~M(%vA z-2S;r&e#TxYOy_IY`teIw5Rq7K6l=fhmjf1PDy$+^D>opxhq!U%88#feJZo@fh)b? z5B1+oy=X6@dw;llOERij|C>(#m?lEvs05)LBlQOH=YyKQjT$QMAsy3LN!*WUe1~U5 zsh6I$YaZto4q~>}Kx1Rui|~$q-yY4Zkk#I~_EQ zy6bPj6-2@tF`1=Ho0?L3CA$?72XW=z)#i%uP{ks{lJ@Oeapq&p3sW8zZeb%6xXlL~ z<--Mjp>`c%(Q`HhOq^~QP!L_F!8GEgdrW_l(Y;Wu>ziysaA<>$jsMLIRyh{p!PVaK zh9{z*4kuxg`ivAFObPagf%!+@R}4AeRn%>`H^#1Pn*Ke>2@JmbWV19{gyBuA4c zk50QSHteGmDV2svF3wlDdC95@D=^ z;#MpS!ezt%#(EZ8JFH8Ocy+l>|Fxt|OiyJh<3o>>rU|vRNQA@&N{3rU2OKJ0RWeg) zcxT-IpW!{M_kQKDhFUXtoIAgf4ns=`oE|##-f%Lsf(b@P8I?xJX~Vj*B4%a+^l~=W znDCCXeqNMyC*z*;T;2l0tXZ|LQxF{GBcVA?#wl*se_PxeS($|d+r~1{^va+4cv&;8>dgVEUxEZIQZ``G%_6FHZP0_@#X?Q^mfaFU}kL!Q4gS8YnDhZZ>3*w%HvZSmMv{ ooY6wU$3_0Pp}!gZZxV$5o&QTzXSCRFlmS5KcX7YhR^s3H50c=hPXGV_ literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.20-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..f80d86653ba70f91625c5abdbd8ac2ce7db60fa4 GIT binary patch literal 2428 zcmbW3XFL=R1IN#Hof(oD&d!mUl996NjJxbn#GO6v?2?SLIh*L}c;O^@Kaq{w#_xJUBf(Y^RMF%`_LOZ*;2O;D={C$0Z z^b7z803ZSY(2S3FRsOAvDk2ZpYp~+GecUBT!Z9guel4jgP?H*0GfI!PsO|)72{dYZ zfF0Rs+29_zx?QKGzk1cmriR-PmHKgGVJmg`Y~4`}a@^ITt6msmQo0lwNi)D6ly%}4 zZRQkJeYZDeUON`SNmiy68E46G844<24&JO)hr@rptdaN=r|LT=n$+K8o7`nGQFQgj&Cm$`%&8IE=J#7-td@C_i&-7yM^6)K5D#2-{G0HQCg82}R|*amBB3ILR8xVN zX}qe64u5ciPTb~Le&lS+*WFXz+w)lYw$cM;s%hnF>gamA1*BwZ>oG^x@n1uKrgL`j zL4CAI;!sg3&2Pk7v8}H1;yVOTRpu}%yg5~#zV@?u&aCwc%rbvZG;Cx2TCc|_=sHn{ z8=k#8-_%${RrjN&5py+ZwL19*v-7BhDIDiGUFZ}rPUC5QUQzhC3G%_IaChJl<)G>I zwP5MwmR9HQYooi*4W{&uI9bK=8i&*;<~z%u0VLM~3^dxf!LJjlk93?#x6arTiJg^!}ySmkL-N$`d@2XAP{o z+^^4+zPy;b1$~|o>x4Ov&BJfB&YjR91UvF5;$t+ZKy4;y2VBBI}4PkVuPwtrC`w)SoA@&M8pTZP28I|Xv z2}%|oHbuB*yO2h^oHyifl@Y1>_qNpeS5~txHaCXX5pixp2EzR{VC_z$n0SFxBj%UF z6bU6Z`1i}AzcavR`!d4RYk^f>!@|2>?Hqz9Hn}_5DMnIj7w*+dz!>9ehJ&(uR7`6% zP|N;&kzx_R2bI{gT{-CenIFAOOp8jog@+D*8X;Xj$|{PE>e1*|QUl-BLn|G+$#UJE zkYRmf|M}iGF%7s!@hugWI>7Qz@E3ES3A|PYR<^QWaB?6Jv)vrqUWSCf8zUPi2^=zv zMv0zx;l9Z?3f>$`JU^zrVnvSJ-91)ey!G^T)7FWt0p)&=nfN6h+DzG0?HAljtM^wQ zA*p5hXW5=(@pI%_+XrJG-|>4&+DDou4>gH{hfv(@0Fe}oQCTI=nR9dA`R+%p(lCrs z#BD6|Yv5AzeCVj+y2sKcuSVb(2GxQ`pM>tjxotmkCD5O+wjZ4`a##E|%UjTyj1hVJ z$aw#f#VB6h{PQYVQ-*q<|E*A^Y_GLCu5^G`vC%YGK&2drU7L3p9!M2DiWJmM-qgyU zpGNu~*8H5boohjbzl+4#*n=vgk;)B&LjWO z@2k#%G^b5}%zz}Z)qj%7#e!>1W)k*}^bnq;L@Cy5V&?C}u|P+$gHJ^l-*Z%Zap-0C zt!F*cudU#8Ge}T)Jn)-%5fC<2-O=>Gf9zHrqK;dHG1GePX(9%i8a}yr#4bHl*NNV) zB11#hDh{U{_rjVvn1>XG(8mR0j6YN{KUH^(Eah<6=O7T-ZusX`hw+SRC76CTyZ*D> zI=i%byMZkK52yT_&4UL!CE9{7+Qa0nsuskTh>7)BGa3Q#-TuIF{T@=0<9!D zc__AXz+RI*1ROf!iH8{kNqF@R55DC&Y{Y?F#jTzrrUG|A4*(@1fB9>_cWkpy`l>H4 z=CF4;2liJ0yRVWNLu=c`jOcg32h3>i?O&7-PzxI7#itl+%Xg)I{x&{iPkI$&XWXZI za(_ELCE^XGyCUUNl$`3Hn$8DS*d19X_67>9P}Mh%-f-nbdVCs*qh4?ChTQV$ONG40 z@DK@#zi#-^(xWk98;bh5x=u?&T8*|lbi};JC+bk$HOn22-Vpz zr%+SZkwt?CiRipVzkGVrgqoH_W7C??4car5rrI&moZDr{)B9`XH^?AiV$s9V=c zE46F|$*KEc^dwc-qoy2g?^2SR2vy)U`BE8rIjzyAFzG0lPw(EJMZvsfesh;M@pOG% zxbN3f-PoQS>0di5N#uoFBx_e0_k&y`# zFdQtq5eJqRVJd>1QY-S2mtZ|*`DeKV0j&00KnM@0MG*f z03pHP*pL_uI3_3x=O1+)jK<>vLt;YkIIw?Mm}WFS3>kDS0v{EF^p8SgLWn_{*l0YC z?*tdX4*(zm0A^`vS0TS3k(Cppf18{t?Z<^E^~fb>!llhsp7M9h0ATj?S zBGJ|V&NIt_4<&iV) zT0N{?nx61B=Yc)HZ?-Ku-T7}Tb8efyqfzGY*9sk>Zti7*ezsos+sTOuP)I`wsy@ML z$7C;0jF8LbnN49B(+Vcfo&#~!0S(uV!UpaFGtS-`+f+H8KfmG#X=@D%%IavQP4TO~ z=?jd4(qn9ziNY!Geny=#?GaH+#N|C4iw>V&$jM2Qf2WXerItliM!+I$(9du3fu9s@ zO+A0~=$_f{4nh^B>w&z^lfFfKs{Sb_>i}HRjz@C|_@^w3qkWe5G?Qce%!4{!y;ZT; zBpuz}C6;jH(}ux%RWkRqwwB=YYpm{+kA?ARpQf>;pLccfrdwI3^I@(5ijn5vavp0q ziVb_KY;k(@v2W-Az08nw{^;32f^mZgeXf$N6OvMo1 z@`QlqlOYI{F@QI{+c#9BpelZ(jIn=0TRforTE@#ZNN&7nF}+K7BQd*m`W?#Heopk| zmrai^?{yFF--Jw(bcMw=8jmT%B@g3}mg&F`63>GzCAK?&erRslYSju#4eeQi9DjghU%Bk=&NM_5b2%-Q=fb4uWK~5u4bs z{KNv08#m(u#agI|#XP?L`;>#+E)hE?Vb~{eD`UcFDbNEK z7dwm~WWV@c5VBx|B~PjG&QWG8(7p1DHI{Rb+GcboWZe)Ua^Ng1sqtmOwCHMXY6pn9 z?%27m*QlrO1S- z?$6@s6Uz>l822w80QCfN_H&`U8z)4@c1*G|qnMmL=ZD~hq~y>7dq>Rv&DX!QmLU5i z-I}FO2wBNZ3{el{rHqrnlds!l=xz+9=LaU0acc3KJ8+1X1R06a9lPrt9V-vDJh#OA zLX^BANd2?P>aJtzMC-g#rXauR%8zXa1fxO{4L}e9C-~#)FfUod#M09MlL+?jxaN;(#7` z{>EWjKhjHS^2rJw*nT05^wI>XS6P_(Ad6A-WxU)EpB;4hR%hhydoK>vrBneP-;Q1m zgx&ffq9eAY5>*h*VXlGcI+B| zp&JevcSLo`w23P#df8Jvf{G{W*yz7h%z}^Eh0975ToTAM_L&Ka_epHpX`d{rL8sqm zFIcG~r=xq*TA(mMJ9e`N4J)6I_J97mmMC%Vl^y#kxN{8aSl*41(2sG36ms|CGq%uG z-krIq@kOK}HFStE&dYAC#wVu_Dv*}hM}u1E$I`zfysYN2^T-ahsx!nTZBL!Od#{`o zJ*tEJ-iLj-9u%WB2&=( zqZ%F-0ys&3Df-fzEj|t5?fx7|LyxEaR>kM7mFPW zPbPt|qdT^Yi-_VX}bopN9HGwGIhjrTUZ`sM{hd!TRn2VLFQ3y~U`h{M!=*^wo`PKB?&8#7Ba{7=qzOhmZj%GAqT7#wfUII)D#e27)6?Xm@7F-1 z{CFM+BT)r$imF~3xu)|Ov`dwdVi-{#-cZVKi*)XYC8co6Hv@4MGdn}_>t^)3 z?hD#HTj#sDKRVmrz3gdZF>E5|AWYXsmligX4N8cE(Lz5Ko^*{|9j|(A|M<}y;Ww_z z;IhiM&SQArErF>B&lp?T91}I%qujSOIc> zZFA7;QKU}yJI$}fVp^t1Whi*Qtt%Y-wAZq->g;OYN{0eAf2-m6_mJDioOWGJZNFor rY|UL^96%`N|7OS^iTpPtj(_I=LWwJki~FB5$DgAAZ1NxF00931+0a4a literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.21-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..61ea0928e63e1b33274b1ea97748ffd47150b31f GIT binary patch literal 2431 zcmbW3X*?5*1IIVV9_P%JJs!D3L`%m*KY!bhp2aY5dGVSczEbrcq>5sJeieQpQi@L@<49*yyf@X_!O z#Rc(laRWR6fOr7FFfHwt_Mvu2$?(7{1Hr;KL4K#`(!@+hNh9T2{x)4vYKR3#N#kA? zf*00dlQp=}zAQEfU2in9{0en(s~58l$!=QyvX(t?z`Cic{*%#es#i?BLYYZO0QL$+ zJlG3PazG{4UG64+Hcs&o9@gfN9Tm9m-5*go8@c*I&(U!=uKv_W67-WSl#(%65xvuY zQE0-c32E-}#QbDicmSdEloEpEz3{Nm=@Vd%0>$zJ@ z2WN9BEY6MvE0dE`3S8@V&E(6H$_SvUj(bYx!~t%#?sF&|ml%j$EXSjSXMA4AIOkGo zY`8IXWO*X2`;u_MIS4)WTbW`H!6Bdz4q>boBTg=ab_2%PdhE>En@z3QX9z2xX#pbxm@D(S=AQWCnHq$V=U1P;rEew7$Zwm?jzzo)u?j|YSNleSGOr373 zYMJUd3w%(T2o^BDPyoZEQ~7%^Tj#kAZ8*=AgkAQ0LQ$IZwBIrQ;d}02=E{wdi2`E7 zlq-5HUw49bJCM+S6FcJzHyr4sS?DOer$2OkDf2g+<;hh88SRvHZ$_BaEJPB3D6#RZ zzDZq!sv|6x84lD?uP^WX@UGcIv;OATw2eE$+gtGO7R z@4e(_{;chQXJ`r|gA%~r2N`8-@*e3{ubf9r>VP9dSe6-jlKkVc*7LRwmisGrE|+;9 z4G8>G6&!hneQvAcFlg~rzpV#(lTLmbdnC1!SRZgUfe;m1jWtfr$EwTkjVGC{e<+6q zuZA}ZS)TNs)ERplR@Av7UOD(Y`#Wb*INhdp+E43nW*$KN486RC1kcymC0V`8+SeL(TvFvufU15X`HYp{ZTxb2Jqm?Pv^+dw z#guFE=C|Se?1GmktP(^Zg;H^hmK8_~S~1$%&@muEV}hw-aj^?Y76RZ>kqfpbSG>{WyuDcw({&(yq>W$zEFY#ixcOJN4dn1lLl(1W~-lkqpD1D^z$U>f+KG%f^ z&~)EY6`UipUaWAtoSl#zOi9-0{_6H{`*V-f$_t6m+fC3wMpwym>U8DyVJtbX+}M*C zDm6NHYm;z|CQnrB=~0H~I3!7OAHG zM)QBgL$_(}hHnRdxe#vuMPa_OCWafg-2+WMe`@;ciACyV07$+h3G&h(QZ9|K~*t0_3&AE(fX{K$~ajo zc*H~G=Gi;$(k(Ivs7zUwnq}Hgg}_hN7f){4wqa=N0Ut$NzvhD}Waz!NxU0ePY*+J< zQ=iLYl_QVU-7OrOb8Y$zk?~-y3;U+x!_}UZmQJk|+M6}E)Yp#2uCj{wH;@pFLYQV} zQR%()UlY9+(xgbNSAg_aM}KzwTQI0A6+qZ2pHK7SlqkmOeKkEM2@7T^DikbG_-IKR zL-}yGDPjw%A3KQ=B>?U&gPFH_nqjd+Zdx1P4w)391Q|{HqNXbljieC{X2xE!m*jM~Hk)?%V2*?=}qCs;~A|PjzTuDxom=H_IdZh#!(+)xh$r%x<8J@7PEmtzxqd`b(c0|zr@pTeD z(-DIxml_+M)D1_k`Y}bisFmBX@u;|+crmWn(J-+s2f`;S@)Wtcq!KXpDCy06#VCrl zl^x*DLDV8?{v)SCPR?$j9dks80@r?x`lsNLc!^q&2AFmPh$87&oS9px!u&Zb{(*k1 zN%%WdU9h!m|JjLQexIUJ@pj9ZRy0+=6sIR=wfJktm`Qf91#%d3{%;TZtwR4zJn&!q WUsmK`%MJSX4E$a6Z-RLLUH<_x)0R*G literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.21-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..09f01670e683fd3c5665bdb75302ae2c30d1361a GIT binary patch literal 2307 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.22-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..eb010f45aa0ce815f6de83d2d12117653c2c5b85 GIT binary patch literal 2329 zcmbW(XCM>~0|xN3y6hQeZ{dt`WxM0Z%uKewJI*-c%#dtCl#8r5DV3d-tizcZ<&2Ue z$xKFZgyW32|NH&@@;=Xp=hO53XJtl54+GEw*Z?^wsvWmn0I&H)0H8?&0JshS0MK5F z5$G@<#W2qh3^L@dqDLSGg$_dpVib}7{z{>N{%)R;L4hG*ZpaW1A9T2f96ASv( z&p3{QotlN0nBZMaw(DGb$Ng5g%lz}s~RJ2uGDQqrH#y3q!**_RmZuLjMr;J822g~{Q zkEGvDNk_t7GWM5^rCbk1XV@fE-}IQITVk3fdMUU|;QTpkSeC-E6KD76N0QQ3wG={Iz#ud5SkI%9QP_0r*g;8XjMUZZldIeabURE(gp!eBK1 z0Nd*MmhRR+L$RlgrrC$_B$0y%*JOZt5>1(^rN@@kiXM6=E`yfU*5DLq9tXv1F z-tr|d94a5ttS6wTVNb32#3>iyqEeLd`NZbo=|3V1s2CpMF?Z#oQzQ5tHaVU=klr3| zNyyF#3pd%*Y$I9Lv~`ezw8YNrlJ{NV;fLbIiP}?LUY5*+#cjm`sj;)GocF$Iqa@u zBCEybBx8C0V5_XiM10lU9{IZ^FU6A#LMX1Zq`P5;x_wJ}r zEd>s+hGCi>Gx>G*E+2?LN9s(=MgWuh)P!@n+IY#bG<96qWo`4GY&yj}E$g#Pk?ZKI z*TlrAuqshy{@gpeb9Tn9Z)6=Shn?pOgx72!wj!6ob1n)rYPy$NIOj}_#rI?^p**Du z5Ac4S!GA)MonKW{jNnQTUEV#5{!dE^1p;)-B$!2HR7lZY&l+GnY7g~wWSVIH`J{74 zdE8DwnvO4;nlbq#1byjGTaZqB%3xL)zkBQH>RY=TUtkBUMDqGac(&&uZ#8hzRjf z=oT6sqw(GDi`I=CNm=6W%F(_{fppw7r5>f-s-fGSWg1`P&lZGq@?QlFcWqrApx9|z zmK+jkZ-Nk=n#W}`62ZFXBMg2y&@lr3kpw)Z54I!{c#Y6TE+b|$P{nU2UR7vXWKDf(J zsf1M>(pFgEfVM?8!#`l1aDD@?HBD6J4s2h4DkZJ4YPB76%xi1AJvOAQ7Y=|6%;{k9 z?d2;s!NW$?yC2{4!qUq$cg@OYlm=9c`&3*PS~lYnvWbRN|DVg(QVmRiJ$uz(6LB(>RlVyCltvfTI)ffBz4 z(H|-g4A1<${Gqp|Q$!g3U3cG>uYGytQJP6z`iauD@W)0zadS{#7@>V+VnWiCayAMC ze01!dK5v7QFKy2v^_DH5MN{&O)`X^d&31{~az{NF>@Ow?sWEqJ#PdlNKZy^q(esEf zVz?uU3od={o%7VCSSuddgLLGGOj z0S&3y?-ctv*xXItsq-^*T5svgoo!Cye{+c-wT^|TI?UTlmDkC?8VE5c*~!AQdyYwU z1DMD)+~}I+qs+9Sb)OTLDrInf?3HseC8u&B7)fgY6FNHKT!Ys25T|$C?ZmjIMR((h zb;0=`Khly;#m7wE1Yv8l_A2{-&bm~Q8XCN+O*o@7L%w{YFIdXPcR7F{RpO`(o%QrV zYJIYIz*Zeq&35p<1u>Z^l@?70n_RzRV&eF4e6B`MNNc)LM#W?DViA# zJhzhV1>ms<}&4tRuYmh|H!iCcyuY9qiEL-?M~c z#9d(%M)`TO&D}1ZFi3sFdpSm_skThAd>o^y=%5!n;}!j5_3b*-3g&AJ9c*@~9q1_g z7T6C1yVFEewQ45iLrrB+J!Ya#fucnn?kYk`MdvIx;SGXXW+jQ(YYb(D9+O{WpaK!g z(so?P4Z==n7edp`C4GZ>9E)EQgZ8)A7IS-}8qQny#-**yXlP+{|63@3k@DZf)BHRC YmshOJ7%u#Krukcszx(_zfB=C10IK*@?*IS* literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.23-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..372d87fe75a3b78b20b5d937d3b874c166e8f1a7 GIT binary patch literal 2460 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 a`gi^>v0QZE;r;i_^}CqgTmG9s0Pr7O$6Ofz literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.24-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..ce38718d5df92c8a7ea0d5f67f4a87e42be174e1 GIT binary patch literal 2459 zcmbW3X*?4S1IK4VCpK5kFcA_m_tD?oTsb01 zn#_F^e@Aj94CU$nyno(2zu$}R=lA0G{%d2!egX;r0{8*xo`?3mG|GvglK=qB901S* z003CDRv?yiUyFny`nVGxY9R?eo>&r=;G^Y^$AkO{cvn=AFM&vMbtfY4V*^kioIk;b z`veET1ptTu08C?JF_0sO--}Nl8jSgJdVH`-?dK?oc9Lc))u&$T3)B6s0AJLxlI*#! zbzDyx+H74F8IoA9GlMNiI5^gdSo$S5uFiZ<{&2YBrmwZ%-D+_mpK_Bn_vjJZfIvV7 z%Qwo#J+j99EoB-SjS~C>0m_c>rg;tql+FjPy}Dp$w-;Wk#E6oZlsywnH-7sud0YRNwMxrHXeXgI{p#%7B~Yun!+w(7?nmh~^ijGAXD?e2 z^}qyI%3^fU61hoFFH-Z>(cUN-fA5K-vANOMkoEcGpq>1O4`yd&d^4IuX8f40OfOd$ zacFWPcv5}_CE@#=y=j2ex`nBhGTA=;T^m}g_M$ds#AwfJYXj`qFl>O-kTan%p6k1r z##!9`;Re5(5RUgQobYa|Gc4Gb699kJX6&#wa~6R`+XcwiZoDO*3DSRdhzhB zYqQBDV)`LN(PofWd8x~#g4Or{atzKlUz6Ecv;8h-=7j5*X@2M%MqIO$ zXKwx-%T|7CD<}8+Yo1w7cj9syf7$>Z;`Z?@(Qb{uUa4K?2k4v98@;x|%g!q@X4Oy?<4eDt0HgRob1UQdATX;GTCmJ0dR zTR)bouijf|?Duz3ak;Wo{etYZsDr40pobaFE0=?#rD1XW(mdySt-%f;p33IjZ6WSs zB>sjv(2%H^&a_E25YB4L_mG>LJHDpB&^a3O$j30k0Pb8pcDc0dB!LMsL$*nrX<0GE z=VXZTx{~0xdJyL%v(X#;I(kJQ%eTOwGRS@{&}wywvO4hBVz?$0_;Ht=tbJDZ*u zFFswzK7H>=w$H?;fdIYAY5v!5tk&(IX7dgk={#ujkV_jV!QK=;Ric6qek!cSMLYcTvuHApvjv2iE6-r9=Z+vnwMc4L1JTh)S$;(9}QY z?4ntvJYBFKkw#q!#Ug!6IehlW4OA=Zl_~+YYweh_wfVj>j`N-^358_iRBC8GU)LuJ zK2u7LU*ZM&uV>hB`Op=Fe{yvliuU&o&5-*VPD??b^G=MFoymNF91Hzw*7jEJ)(|}& z_AU8h!=`N@;f=f|XOFf1yM|!Ksz=K1=9Jf3nuLOu0KAmKN~#k2q%?kA500w*zJQ5) zpJj@#0Iv%^KWg`?#N>)wDTc%iVhf5|Gdh zd|f@U;`ZY9ar66nz94WYw&-~@`81;4{$P6u`wa6Up@Qo%yI+D1 zrHVEF+K}VvSu_o2!6uLfap&I@(<`mG5Ev==6ZVp7nXda;ce`Xd5GxM-=m5-PmG9Or zRA7L|XLD4nLTFqv%SMMCOl9O9{i zGw6wp*wx2QV$jbSRh%D8iG22{Tt5{Oy^3?=lq{j*uG6t$T~1CB+Zs}tQXgV);tek; zzTAt%$s!1E>maR3P_Xb+Wf@{5{;55%vwAEd&(}aUpIAsF$B&Gw;b|Yo)WFYV#Y=*g zLp(Dkz)|(TEs1Ls|6$He^~b;af)-s*MQ_2@b5c>ntVavI8{HRL{FPNrKMtqjdm_+l zH&Lf$#A>tsmfc3()Xktp4S4at<&sI=rG-tCRe7PZT5)a&Cdn$U3q;H;tGc|W34Xvf zCbwmLR@M^G4gqmn-g3F<=cRc{C8OHsN@_}W!X)sz_Tb2*b2q}QZ+Djq!_cAE?~qf6 x6B7B5$2G>B1REA@gOg2^=od2HL{uKF#^4$Nf{{a02mwo^M literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.24-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..cdc7f1f071f82c8a547646e61a90430800971d92 GIT binary patch literal 2330 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 af9L-Ki;bm#;J;^{zrFK!i~kA;0Qe6}QDr6o literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.25-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..ff6c035113c4065ce1a397dccf01a62f2cbb9743 GIT binary patch literal 2458 zcmbW3X*?4S1IK61IVSf#i`=A=p*bsOWG#i{SkB2gawNAgC`22`vNJ937dBu z;UKVrKPPCHq*ja0fZG*HKQd+4*lvBBi!bKRWtrcx(ToPN>C)W9a%C+cz zp4uW*p68z+JhU#@(QY|3p1jbb(o+K*FAhg7Lt7zcm8)B{lj(NKZ|ul*Za1+pP-EmG zZCC;{cxkMc@o9%+NOjcmjh=RP@s-xO_1UziLjq-clY=RV=|!UV2xyK`tJ*x;z??G3 znXJ9MhP<5O(9xxlR(?jTm=Ey{X->+IaR{HfZNpmcb(%c4N4F>Z?0a8Aps}?Uiq*-1 zzl_mZQc4+?!z$RcISFfkT;~zjd*X+aS9)}QkGr& zk;F}AQfx6iez__7?_Tbz+Fq3zsj>A)^yXk>Vhtta8awv(vgOAuz~;h3$VMwg4d%XJ zI;VOmFpgczpwaKjZZL0Ed5SEarRsoe5O1t%X_lQt&V+`s9}4cK)VNfsnB+t zl2|4NGUPwT$Q$2hmBMh0FWj4kL#87JWmYuA%5>sp*t&m=c~2IzcWHDWYgvnBI`;%P zg|n-$Hl#MQu=o!Z;q@zv4_<9{K(pZ_=ykKqSv@1Dk)k+^$WQ(BycN7_@M-?HLA>#E zPkfr`k(|jln?rqhl1Q2~?ym68lUpR+MD?1+$6F=|N^KDayWX4OoClonpdC==Z`o@tW6n zT5KCl*qrlMrt;c(53RZ+7qZykz@{*hVYk?CFc z1rq~YT_1>q&jrY=Cp|A1jK+wdo_aR>C^IKp{|u>o+QTK^+UC_1GHU1N0eUg?oN-1b zBq#5yi7P}v!FZZWVAZ*IcIwvLexWA7!jiXK={P6M<33WIinptjYCis>(ZEu4<1pjdY)pk3@XJFo zEbO27ZK<86(tTDtr*+<<-!R#>Z@)`pL@Nl?rMib|=#{sk`*VF0B zkPPHG>F+)57|XP)FU}27YRtLZR~SttwEp&Z92%5JRi;m_)S6G8W1#zR@z8VDpxc(4 z%dFmhOj0dlGN690)>TCKWig;YvdZ_y2xTAVC-%8kz%{)vR(~*mp9mlMrGO`}7bS@T z?>}3zOP1D?34;Vw1-j(oAqKr<4mQN6N-a(h zx1TE_-id(5+$@lS4R@_r#>4M?Np>mCtB}#|-HaQCu#`I&4P z?jT-%zA1>Nh-aUU1O;0!`NnEJW?4)Hyt>FykjI)b;w$yjS^)0kb8PX5?tS13UsIMx zDY9&w0pj=%x%O#xci!0XWw4JN1bpD)+(pI^(wncKFK`E2`$ge#+MC-8$1eV=xNi4o~@1Rj;^XKRRLjyy>S<)ojNUlG% zXrjaOsE!BO943E!c(vuhOGQFlNj2W2_GA^cmlDn$9r&*EmRov0g}bkOK$fB4)6HcN zB4}3x#iU1_>kY^W#g~xHHFD%!yuT+djD|%HQM%ecBj#0bLTfVMQmC|2VKuhW|1LZN z%17VLW}!MNIh}9UZE)RF^i8G!VN!%UtJEl+eA@6}W_tCg|0L^nb_kKrGdLZK0}C(- zudynx3{+OQHnn|Wst>cMcZTW|!mp0)bM%we$*B!{7m5XKuJ*Z+LX*w`+-)F3%bHj4 z#po>_Or0ru)jV{ZcfiW0#qgh#=ccNU>qMBon5RYEQL;8AYWPZ!8DT zT;tS{*b*_l{C073CLSDWXjH0;+7-!S(nyq{>3CBwCCOQCXx!x+0q<=o=yq2#zbF^U zBBZ~qShK7}S^wa8-#n~!*YUEFBq=n$NIAYha_Yu(f6Ub*70NKnSFRV6iQ;%!2UH$k w%Cz>znG@k9;tm~9hyH&n(jQCuZzAaa#s4Kth&zl-|DNgo)bS55g8p6q0k!3rUjP6A literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.25-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..374a477c476f0c3103021758536523041558bf8b GIT binary patch literal 2332 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 C<&%8? literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.26-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..b8db835bb1133ef5908ab4ea5498dff39b495157 GIT binary patch literal 2332 zcmbW(X&}=N0|)S*&3#{mT0)KyvgCRu%TZEfxo^hAh%sy^=ZGY8{3Z7>XZ|I}+*fj> zTsdPBv%(}ox%u~h-al`i@At*`)%X1ec^k}(06+jQkd8jEGRyRWBH00;P746k006+; zQzBpjJ(U98alR;Ah>{!D7mW$TV11QP_wOqQVDCG-2m4`hfzBwLn4%NeXa(a9*G9BWvPtDHg$W?K*s0+3FUk4S|?Il@p7d@>b6K zM}Ak&dDB&S_35Ro_L(M!JS$K7YeNd^g!-yCi7@{Ibk9049Mm7-ws2j!#CCf=J--Xd zw-wy?y^5ugoR3YWuzEhuE)G0Wp5POImXZ-Pj=wxKs?2A#bwKx8S5z6udOO)tlqP?B zctj4yAQzU%1YK$C0O#GMUM-5+T8IB?wbmV|9~?{ zXj+#~E!Uekp|<2A`NS11CYjGh|25BUcf77EjoF>BOK%!v5~A{MVG?FTLu~5tRI1k5 zgI;jio{;R+?;|wm-Alt%R>CU8e~DlBH$p>_r9LF}%t%bUcq)YpL$`iQF3yNStwL?<@DT?H&!8X`C=BvPtgB|NI6;g z*|G4cEXDxpgE$YUMmL^NmhB{|SklKJFw|~u7=MBAT7T51I{FyU=5&&{I3L+MJSZGM zbQa7BVjsaDf3BDYq>@d$j=Z563i~DwjRRo9LF;8VRrpKcF4?#Q_zT*;($~u8S5s%i z1z@av6B8PnEe_UfdC>4Ink2rYHyY6UhTwD& z4lU(GqOXdz&CZCnw3cb+m>SbRy@#_=+}K_1%b&ZuZ`-G>B$dmpX2Q}N9z)vUtYV{y z(rFE>U;`W350Y?6hZiJ zx{)Ao?Rd!eoVboill`UCCN^INo>!MvU9CiW=g^RTSQ;>!bIV?nSG?LI=*1cP$OP=h z>KxQ@$&WFd5E#a@9U3a8zSHD=<4yRn-7U})f0%S^E)?&91=Z?~AT=DPe~nY9%DlT# z3=zcVh?T5hr!7qO!dXk2zs!C$=kB%WP*L0Qto*xJo-5poixiXS4`t_6*Z}LE*mGqxu^=lGeo!JJDa`4MdI0DO?|p2s=ahVta&V} zvM2IhcaNn$JsiNenO~1@5+?{Dg7!n=jp~28riR({r7p63rUbg0U|GhhIdWP>Yf*U{ zz7*{e$d5ul>4#933}2P}YhP46m%u|-h-9Qvd_WY+5Ps=Nf9{3o9^_aI`*OhNaERCA z>fCNx`Ba1A`~@|3zHnrr#ro3S!WdkDnbcvZMhG*vo=W~Q7OppS=i=6j>@c?6d&fdu zlDcz(>kQW2aOrS>!EH`SDR-ec{Bh{Yn6L{jtJI9yuFUOv=WOXIds_08Q%THVKaO~YkQA^7aMEY#?o752?o63lQ-u``YkYVN5JZvw}`yXws@E^}4Q>sY6Yw#bW~p)<`V(Wwm^!P-xK2u`11f4}Cl z=JGV@%QY4h_nd$m`m{Cz@DxDdi6>R>#@eLL$MkY0D89P@D-k7W! zY}{6Y`7ZZCko@W~8rLFhbI;k-KN7=*YME$Sqh@k0vUQwyQ^ec}ws^7m3)I*ycB(d7 zv4$&zsIBAay&>&~4%6lqsETG6we~BPbPodO){1MG(K&}ie{lhU5v5l0Qj%6}8d^zZy% WWI^6$Vg2{a^rvormi)&+0Pqh)qh(3} literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.3-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..53df69d92ce56d832f897182482300289f60bd41 GIT binary patch literal 1977 zcmbW&`9IT-0|)T8jm;b()Jl#ht7NXQPhriO97$5~aSW3&o3Tt`?jz-@Ii@ye%~3hi z=_5ijS0DAsBr%20D9l$_j(z%kfB*jSeZ78oJzjso)6EGii3UKx4&Zjsh9|1tVDUQy z02C1bULK3JcMr-bNJaFIl8DZ5-|u*!IOykSONhVMI!j&Vj@V96hCZaU^p{2Gtl_B^-i&8Rm}IlryuS3@A#zC#Z|@go)Vtry8tq9) zZfdF(Mz;bh&50wdM@c`eT+FJbEg60(*UA^{r}{ta`$F#ASWi~kMn59GwxIxT7{y-yrDDa^cU>=kgUY=riyptZgql*3G_SKb>g+XmY|MW;yH zUht|7c;#GYSC(R&vA;1udxgx&YcuTqW6zfOpx%uJ z7N%;xJIi~@sq#5{L)gCKMl@_Q_@YJMlC*7gXLh2O zgl;IQVj$tvPN@MGcHP^J=`oZ^iFVzDbHET*wjZ2J&eCBT5Pe&BX z91s3(#E+HDAkGi)@z^V%>F!r`!N+7{{v-X+Y>UR@-8kQjLjo%qz6@Vn*+oOxGlaD1xMHtW$TKmUCR z(Ny1Aak1ga^xp8W?HZvq7pi9%uv}~Z3S@$LTi(BU=8hP$#BF)2brV^a((!VoPP6>T z)c~dxOsTYZctEZx8Gp)MCALcMsEK;bPVe^7RkPb;7mij~Kp?k574P?{(Op*it*`zq zHK>|y7o{8LF)Y(A5|Ux}8S66>RaKChI)dxWMXW5X(}yNQ zg3X_Ro%b!en=bb3szzVkGIHPuH+-)K2#$AzaL3>p$w0_otm^S(u6}4LxXshTv1uAz@B9n~4kjMckf_^XYI~Q9Nv!bU-uox5XA-J%6)0z(`nSt;SQmju`8WVEj@DO+JXr;=_ySj)MdVWuE nbCLj|!T(#(Ux@xUi4yx#H8v6A~ql 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.4.6-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..2b843ff80e7daf3ca5fa5f4214b07c62ad414978 GIT binary patch literal 1980 zcmbW&`#;l*0|xMqnb2{UCArLTONg3W!rXT(a*GtzFq27}`=p47mfJKcR7@_Tm_?$H z+m7MPin&Wu6mnc5GuPAk{{H>tJkJl$>-h`bu8x9WO8^8&0OWwJb6XGt+vR-#0M-J4 zlK=o<1N8{l$RNE)OgPRj{JI_*j|;#?V(~aVzmSk)5%>@kCMFag9*Ob`M+ae}F~@=< z@HkPh5O4_q5&*#B?%gY}ZCDtkzpvg*{4oQE)p)0TC&OItb-$_<-IP@4>*Kny`G=^JF9PN&euq9qqEt@r09-wIX5v;pjR?F zmmiws>UX=wy6etI%M^@sKMVxrh>-(W(G^pKg_kDo?z~%cje#Wjap)e5gDJ3U0gz(d zC_Bn0W>YYSdqG5^pfl63G?P>eOJ=)5+Il=q-6TQT>tyI^?YQ@ShiTPC8*Sop)%=_& zE(dX~HkkxP4#quQ4A}T9#M4c?k$zyXZPF`w5KAcK_)~evu7x*K)q#Qa5K@Ze0&TuAjR|L5YJeW{G z$isWqOfTgi!i%e$H#Hb?Fb^G?Q50AxmVuk$3>c}5_u8B)9f&{_c0!3v#G^P?YlBWM zME}xGgEf8ls(p`^N@|?L3U*;;!oe{^k8@T-M5V)}slk@%z{&0+mg#JG`^p6RzrHZa zH40ASmHg&?C0xVaY*u}mOm<2tFn_K;y}&+uxQ47|9$bN(tK^Vg=4zVdO9|`=kj;$! zuJmi@2sg{jQjJ(8k8B^Q$>USRsU0x-N$sMXl-ZP{$N9_Eh$pqfPgdr+F%Ci^bI`H4 zOBQJBX{SZw_YLujzR%NyVIK#Az^~RE1%t%~?J-0&>e$k@{!2-{+vo-keUut%cRFmQ z>xhlf=hPk5afW{2{tbQIb>|UzPD+$rh%#Eql4#BRYGK73r=Xid z*cT752fasJ_+1O`UE5ty6PH~*5@@4cQ>uGuu!!d3O$)skm+Z3Q%Ydwu~gAF-2}1p9id6hEJa9%b)5Qy-br(pM8uy-uCp5 zHi&@aX}8pAU{#430M3p*@8@c0S#1^u%2O&e7r$a!k8SCn2|a?>)JFML3nmyFsLY{H zA?ga=z4utNXvE7A<990aqe2kL_To|N#zTC%9enMOuhI);_*s05B15lwYADaFRCM`m z-$%;s80JBT&i;eRhbpKxe@IRleQIN{be>f;x7~94Tp)9(!q6#xJ=8H{?76yulP482 z*Rd!8HM`r=zfJ!Drr*@3*lkhT$--@uNL}jw8{)OjF(a;ru)VGvAk7WVqIJp{`vja4wtoEL)&xxA~u6-K`=>U89}od-%}B98SBD-CMR=n`X@YygzNPS<}v{ zS4OSooDF3b{<`Ttf;RdjXD01?5?A$o|2tLE$?x0pi31WX>RN-S?nJq=SW^1a4=eXp z9*s~x>bZOw*^!n#no39bddQRQJ7}+l$WN|*pmKzp z|F}Z&gELErEi31t!s<_?)&ZaQ6frNi5frW?_J;+L`9cVZ0?c!33O`xT+B$$Kcdo3+ znK4Q>A#%&0!0n?9<*@~A*~;7JA7HFEZ&jEK!$ZA2^Zxv4a6>&uDj+~TbwKN@O86*S z!EAf)ch`3b@+gCwUab7&gEcV+i7%xvenQ8dA`}{DcL^d3^Z@A{gLBqZ`0@^fUxaBZ zySzzgQ>IJGP5l|U`cFeAayl`H43&u=Wl9yM747xSq_+=o#Rj{*-1~h#RlyF5$rz~E zpbRE{%v-nQ-xC+b^jxwhm;`FRwfhNM7Wp2od)=~;$0|)Tm=E_RMa!ulSNLiLFF~?9N%rSR}kzw<&nJLs$BXg9HNUn054uwhX zrYuLf){tvaiR6)zhQPcjS`Lzj*X;5MdJgbf{3K^!H6&# zg)A*D0r&wxJOG%driLPaA*rR@fksoAA`Y3P{Y*V6-BlH>^LS_LafLRjHMq24Bg0eL zj%}YYxYE7|9aLU!K-+v&_VTWS+EO#0F7p4$91wmEIIg$e)qcXbB*}?6laK&B?F zS(=<<6TxEK(6Af1ba$Ds{yN;l$1;rUdNXTUB7OJB-^rL9k*rc6Y8`|hzef8p{u+Q3kmXTQ_d@(Y46z?`%F z>}M8;&8*wiD6y{s77PF^JlJk}!! zDR28TKvE!9o2xQzu`^9TTiM?FG-o1MX}WtnB-;Tex%{IzmCet8#TBkH9BRh3IPdHZ z7tp)-X=%Obh``8=W87U{?K;I8(N78lRt~qg19u_LTL8k#FMct_HYSYy+UUz4$2dxM zsR_iIns6lkA+3)4{Kc3}O|d)OblMLpUG6|(rMo}wXu+$vylrL|5efwDj_+=%u40%c zb%o8zL|!aEvHTHuI9ryyw(ySr6TVk{22nNIDiO!&#Teb;ZslVGHc5gfD(3A$zPfT( zE__fU9(brSwYydU-s(2i(s+NS(mjgSpBm%p-NI^8`_k;y1}swZd& zZFxTwB?LV<*x{MF!!iu)1TXztaWaM% z(v9Dm`h=5q+ekJ$QC=f7^3Cb4N@ARS-qrsgE;gdF-O2#dF+&>M)D}f->^y=fT&n68 zD`k(`bDf(eu%|}JjB2!$lI7b)1*NOL>ML=8$XB?zBwM+jx z(JGktR$8qDE+pBl$5he2y%ab9dJgefPyN;CNzB2K zvK>jQG84KMhEXC>12tnclwHAl>~8kzv2b85Ffy_&H|sE?(__f!zKwmQ+399QZefWm zRgI6ybamF&R2xOJKH3)x!ZTkb*~c7J#vbeR=J=)q}-$$AdzYwZW~9pY@@jyy6YB2 zc}pIl{=9a1WGH7EX;;p*j;acjYZ#<5Q^eru$%Qee*9NYGE`$kIhQB%f_xbQkIevo9#2s$m<#y{iS~Z zy4w&XCs}fYym>G*FFg0cn=a92{E?eDEC_5N_P$0|)S*Yq{^IoVk+3FyzdUC+6s3?uRvNqUM;{Fh^o?|a`G3DJzOTNoKQKEEPBVZV5CkYbhi+U9Z%4xu05Gcp02crN z@VfyH_X|aXLw)f01yGdBsuw}&XEr8;p_2MV}U|ike_nj>BI~tDN~gOzAinnZk#3i!)7MQjmM_n zmPFs|SrMm8tT&rleUWhYXcV``k=s`0*2v?B%h&Y4`-43e2BnGil^^5c*hYm2In3aA z80yaBOGAmXW=XyxuXWhvr}!y8V}$BY;j2#!oSgPz86)tJxI~rrSj=|)<&MwxGUs_b^=zp z(ni~stY#|`9Z74)_)SLDqPb}E_y;a>6_YNSpL6FYi2dL4T#H>Vt{m+b!*Q$ni^#dG z$?4s71i}#sa_a>|`BMw5`Cxgsj1BWQ(@l%GR3omP7g`O_lYYLCbAh4fz|h@3aD8sX znV*BnD#3pcw~T2ihsy-qahKOvKggFThwBo(@;Pvx6?eIf8z8#^9}~6k2Ibt%X6q~( zS|y5SkqIT72l8P0!V|+RjPG*#cTI|;W`~Q2Ag75JVZdXD;S%|}Z7VxbqK9=M?AX!- zgL^u$xSwPUySOXx4T(#+lwZ83a?*Bg_HIvsJa=F+DW1M4+6Qs4t2vTt1r ze)nv*I{X)n$faOR*G=PC^qCXy9(#f?C2^E{zj-wN{_UyskSiHCkhfn`+lLSqS#8X; z`{;(At24PZZrY^CY@&VZ`(1fm>&C1We^F0BpSx!iqBk(ICx6&=+!?%#jHOkfkPOXN zx$Z6JO(nmE7{i;@;u!;sss|f3Zt1U5z%22J#^cpoXMet4sgf3&(cV*8=EW_HmjUm? zLtZ-zdIM=7W9O&+iDHkI{7)|SzmCO>d)}b#jMXJ+(Vj`oz+<(lxc2+>8f5~Xp#AQw zHBB2wAU>CgnYc;t)VPaA*3oQ*pQI(hsGbS-VaTZ~UN67a_q9u>X?ka}B_An15QE;I zl~R?ma!PT0wpI2M`)D*-HN~&TaHBr-nJPM)JT_g!^v~(2*RvvO*oIpx&Sl5G5Dai% zAL{u!;>sww&8urVe)Zxz>X0j1kY7>)EfU~5STDco_{inD>Do>~b7}v}E`rn|1@euw zUzvLOOpy=!zIHX{p>3XGrZZGp{!8ofD~XlEu#?ASAHU`}TPL60AR+QbsLH!ZqNeR@ z1h95Y(j>7VKCmtw{AVrKqe4(lII&m>NI!v zj;tnvA;*!T>3b=PHDC?mNI}F@NgSppwV@(#xkG4aZuD<`zI(IYom?g}EZVs5pZbws z^3e(TIz9rrXXAN$;yyF&t>829eFGlXK-imXub8M!;f%Cy`ediDkz}MDF$lxfRQoA0 z;%amxg$d`bmt2^JEnB`SoUP0rcBQtHnqR;oKm&ypKEs#}?Mj3QRjI}6D{98Fgsldo zZk~2z9HsZZebM9Kyy@xWMj5tW&s06@BDlV?X*SH75~qsn^+{azFuoe^UDu905hhMP zxn($WxBZHGyY08Xps9&CN$c1J{C6UTDnm)PQgRgf`SGR&Q}wdcF2t$sx#t%j9QnCI zMNPsbH3WYPkDDjkPR!^rY)z@DK8E&>*%e!JeJzU4wCIo|GQg;x^%J_Je!$p)S%uEL zCGmEtNW81aDVblS`?7vG(<@M)Wq=)!6H~<260yiVq19-6C@skh$h&2EJ z3jhGHXQ0X0L<}?$jmL%KQ=k#CxJYawHWmjBkB){V#72jqFT};-6T`ys5g2R|8g@1z z7ALU{41@px0RZfBa-z(Bo5fcRzhc_T+~VM{`dyk=i6}LD!)B?+mI~~6Cr}k#L<*2_ z>vks%Ep`YMhg9e3_Re2b15eNtUE>QL3O~*jyjq_*WeNS&-+{2Myn4Lub7rR4i(N^@ zqPQ$%_~n+PPp%5!*=V_8Gtk}<>6?**N%dcnXIrgNsGk`$eQuU2Py6EC`%nTuWV1h9 z_YNX08dPcg2{p|mux-FD6=?hFtR4@tKCAht>Vch)N9js-!*M5l%ihwo18Jd z602Y5X6jyG>@IgPg~N)$a#I^IV9qBz#ZRk->vwRXWTwP(P5(}tHV=2)K<-i37|6UA zfQOzeEqbEHeXfgf6qK@}`XRr8?CDS4Nv*Mm8x6!vI`x9fmx|T9ocagAmJMs{ve0t6 zDAE;2r|Rr_g3pt>uBR$IgwT=i+4d$|Xct_gpBFQnGcR_4c9 z7KQ^#EpmRZ;_~L~G=H0RU*2ye4Y_M%9x6E5T)HXv?Oc1PNMY?`%s5#$sOdhbM~pEi zHNKu%KzgTan^r-2>aDoa8_%{;*RmM+!EAc2F|$VewsHj=sqo(Y&f92JY8~Rz&W9h) zjbLI_{3`kuYvH`^=3^^t;B(f3U-MYcL>m;M&4lo4gG5f%m{SYotMFr^vK76JVj5ofq3%?tW^kR$9j))44rM5FY^2cg))r$rfK-@zttc zvItqMkGVGL16c^`XVF$wF5ZjjE1s^-MIO}|n5ceh@>iqNzlg4#PoL1(P#r*WD&Kt=Z>kmhJLML^i_rtR< zZ1DJZ54rNZc>avr0Z~@kj{S2#9&*tBfmIdrr={Sz35(ih2Eqpp;knf6r<{VOds7pZ z8+yoxp-P8{zRSXQUFh8^ZR}gF-@1K?uWm2x$4s-?j}LQR4oo}^E1Ox5f7!`5Nt?aJ zxa>Hhxnm(9p?5b)otkB&bmudI)q-yy_4fK=KkJx&vMXVTW)hERfQR%XOx&UYOp0bsJxDaLVYqWQT1;sw$GLg!kH~iFhe>tVTdInwZ4sfNk)37A zP?r5SD}Gr5O1@#pFF7FHf^fS8&Lq=uKG;JWQqo>BqBWuXL6van-@TPVm@wEukoPy% z)p@mvyRfHv$$t8qD>?WR&Xc}HmzO`ROB!GI5w=kVobyCYvNQQcev=NH8&VE0MXs3$ zS$}U&WS~P-4eXJms!_N@pg4kJN?LLAhZ}Z` z&`HCumB-8{-3Z5L{_evN)|rN;lz!6~iOLvTG{hL$0NvXVMk;5abdsjVH^XxIYh1w* z4JA3-U}bY>-8!4($v}LvDX}FZ*>b@jYI-xX>v2(O3&OmgK;dLi@!t>d3KQ!_(ih`~ zDk~VldNuv~^E+H#2n9}&`DHyk6vffUk_`G=XH@*tZS7OsJ_Akhjwm=Zo6Q#ce!L=S?pw-|2@V>cS@3o5U2zvg3l|f9elZVKtxv*l6p$TIJIz z4zn4rIldV#UDlrEHWh0Ad(6LcnjPpIW6yeftS#)7j-L}LitwN%@N({@c20fJa@5zS zm$FCEx>CV|wBYvwv0w$6lVQcNS%hC@q#E+k(ayBx2_m81@ zjm2|qIpy&-H&aM1pvNb{U@@C!VtiFoF505l$*u?S-Q-M?<^!^_{&|p^Q15ZJEtSlN z&yfRZ@-tNq^muTttf(N{ua5b>ZSf*aB~^2fJ`wlP?Zy!`vpkL6nZtc2JDQV!Vl}Xut zBHilQASGB5iIfCK;+%=HLL*5Y;w0|4q) z0Dv(706>L85>atskhqYT$iSE+NKjN{Fe(le6$uGMqjh7W(EcGeqoZQt`~zcx!cYkz zy5X@=ks|y80AB#$4gg@Dm4!4sFvL6`r#HioK6@L9I@O_s%|?JNG|6JECNgap8{qTC zy&Mk_`%Z@(#%BB1;|$PxqlN7P=npT-aXZXo>erd?kLldi022tOxBY@?8P>UKEkmeJ=)te#^ySFK)n0G;2XV9_EFOun< zaQW@iFu(JH_x}_f?4Db{CHc@z!@Y5Ndv2PuHB4nA6cWRlUtyKT`m^_{zLhS@Pjb~Jw zSIAAm2h3Gs#-W+#mB2*?hyAb?$J1>Gy%>|4&!<7fvkKZvNKu?8l1CBf`VR zJO-R7FFqix`bB@|t!KR7?{0(7-ZDbxzYAG@5WR-0hdWemm4KaCe1 zeAyi=&s*H>q&ce=o4{L`em4)dc*vj-#_5au>gS}h4-n5~UzLXCy5=3A!cyhNbu{*q z5d8C`@BMY0HvRPwcJAU0%k>x&vlhA`NQ*9aLUF^zn56xvDZKP}TNQPIj9I{SOLkAk z0^6&#LwAH%OSr9m9vqU|mB*>5tNh%pJl7LP2Jtr^+|V@cduj`L`XF;KB;XyxO2V+e z{#Rh$nJM9G0VT6fCZVSgZHea&Dl&RlsGtXIysK!3pMjZs(63e~f5~U@vi9V*z!L_y zit|&a#b4-M|M(3nl?$Gu8{CH;$(5)SIjj6`#k*CrEaMSMwejQRWw<*@wUa^C$OQ87 zr;fQnq1Hf?iIXL;7cek*u*2W6Nl{$W!NK?~0zc0R_i7 zE+SMrMvPPP?uGZKyV&~yWD^jV8zrT0$dsoV!KBZbB?w-s0hP?y%LhYiUj5AfsHDo| zab6o=Plj^S9PZ(+M%hmW-(Lv#<@~_@3ov%}B6JgDA?gu36))!#RQBX%D0O)E=U)M$ z`nW}GdTC0>l(o;NnW21GiB4_9tt)yM$yEXw@4q%Wd{8O9O;MMIHC?2jYt1YoN36*@ zi)(LoHcMGHx>Mbv(N6NW@vm7^Q~Z%>*9qx&jv}q@!L`zkk&lC8yC6XVvklKY!$@H6 zz!Oqw(=4qdh5wN6xfoHQ-ox?BZw3SFI&b=3!MF9B&z76{_NOCP&sBwj#lP%_OktR@ z2|7&_?VRWW)o9(WV`@+rpogJx78&QGja}%nSr|W=wy+p8e7XrGrlE^7w6i<_L)Tio z`>ED-h$+60n& z-aXxw@(y}R(pPtpw$t$jPx&0sJ~1T)`G~U;n6ooyNF$d+@k@jVPJZa>ZtzQFY|t`R54)U$i^Xg&sNt8|u)>NfoL zKtu%pqh(~)Qzq#xGQRNh>5ZR|2!`wgRamf*-h)=?ONc25up+vcV3L`a7p(HEAxVd} zl_+^IQ`u>5iYHL_#KElZlKU7lzPj00Xa7BUMt&JRDa};p8yn3T){q|4zCWaeQ?{eQ z(e=^l+hKhZ>`*s3i<%Mv3*&gaUtE%=Tbztl@b@t&{6OT9ROS47X8 z_NGm@Zq+?q%=%WNwRL~4Q@shSV|hW4+7MBc6%kCtlh(60_ICiMdY9%)87}I=&sv&x zN2NXqblSxiW;)TwKr>rA_Ch4c&TNEANBBnR3NjhK#wCce`@e1E+Au-R#3%{9e!MJU zumtEeoHb&c(zI8Fs;vxu3@jf8cE?)XVTt4OMz!t4zv}Le?7Es6&AE=-)9k=*l=yHcanQ60oBBc+CY zBvN}7J6>weUdve5A=G?y9zC#pL$thB=BXavU)&dT6PV#tJVAuzPT7LgHPo`g@J`%d z4f%Q)$GWQTHpGmScPZ0QlAD$CfymFHrc;feX-;@5{=iQo2LA7A38$ zjyKS(>Ne^m9zQH(?4{|en3<$aHNW@z_e8xw+z+b3;X(g?O5`&|qQWn;H}%jre@t+C z0TZC4U|tWt!cELwS@HUh2go#BMEY>xU5laE&hy8h#e1P4{?w`$u^iwgdfmMVZOUG! zN&FCxZ)Q7xaV92N(Kfo``0d}$U2oKZVr=*42HB|Z(H)kdtHq2b`q)`D zWgqJi|EV&Q`kYZ?R+$2u;?iys+^xE*ft-j$e{E*41bT0HeyLAc9N%#!DoG;K_ts*c zZ8(0rP}LGsFf-^AZyHndAzSi1#rl*m?Q9pW15S~0l(%bLbb-8^IGjs2dF$%P2edr$ izoqDJFZyrp@co1TOOae11qA;&^ZnhRzbPZ~&-xDoPoNzD literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.0-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..370302be15895910e9e44490eb31b09039fcecef GIT binary patch literal 2334 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.1-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..25cda139c652e04e76af532901e54cc5409f9b3b GIT binary patch literal 2336 zcmbW(X&@7f0|xM6?(?1VpG+%D=32;AETPDeb9*N_vMocKjfPila<&x;SuDz3j!+nu z`+Dtl6~&6YZki)U$lLq>{{QlSo)6Eb=ljpWh7X7U@B$u@8JIsQrPCoRHHJ=3J5klpkvN5Q^~XQ{5&$-f9(}27 zp3Neue3}$rW>VU%3oj}EemuS{Q(>?CF{yfMYx?>njhD#@^7d;{dJJ>3J|TI1SYJ>* z-utx3vX}D4hUJr$<_G|y2einQUMx+5#zu(dBN($ZgLuz$VWH=y72>QdZ$~LvqKf6Y z_dO`=Wt~LMxF7cJ29K}ZMPLI0d&db%UWNmL*WPBN~i4nY2 zpV_JLNP|f-iv~wfj(U;@UL;K=x2s57+#eRS-R+vCQ}P<@1BVh&GU<|Ot$~KM^141Z zXI&F@g*DI;@{8dn7@a0)+r3ex;?Qe7%&;3SON%wyhmdF8+zVYgJeH+`pN9sV$;eLu z3V*=0ZPL>cARVVVQupr-j73nvg`}6R)A3Dry1=8Q1wwTBp2@=ZNmh?`F@Zq%>T$@= za$dV)=Gz7&{t_15l8Sj(YdxQ>lH=9HYa{&DVt!Ri%|E}iUnKQrYTpWCqFu5^^3dBS zj`U_|G1oX$<0sQ_g>kJMmN%}_70aD5i@73DdSi%s*I>@>%zc3Dm)rg()u}r$tAoZX z6_KGiFV+MdpwfN0C_$N$Ih&UfCcf`BG-5b`}mV6tcx`^3?Ha(|wdra!eGQ9O=T?+?H&G>t4plgY(9y zNfrr~x^i|L6|r8&6g`B#0%sgGb?V7Pzm}0%ACc)&3DP9Tu_rRZK3C+@NEVfI-3Ra} zjbdfL5uJsnBI}r+RNR>#MZ`5FJw_dzmJp_BJNL|Dq6|-oycHoLkj6jNOLMvxdb!5V z%hw*;E@izcM`uzT~D(fN_ zlOl4})=jOd=jV2s;R3+uXw-dUPp%@InnL{G$dwmByamQzRPe!pP6_w7MsV3ce(1xN zI^=!O{s_-D-$1kD@O+D!BBTz)@d=fzqoX58$RkBtdMDA`%@fD6t`t)zqJ~zPdm^wFZFJqs+ zaOEWSCb|i;%Hlj_l_jvltu@w-DQRcNjY6~z#(|OM-$JU8eiqtc=@8vsM%!r!28f35 z$mUhF^}E9P!_ahHx^>pLKlzo2>ZB&<9i>Ij!H8Z|Xkwtz!4C9NGamqP6a-3lG5ldW zZiZGBU!}RC$^GKdM{5Z|-wE(oB_r17m5)Nv%|_6?TazFEIR4zSF#Jxzn)RPK(220^hsEO!4q&Dk!G#4e#KwbL$LXnu9=#@57U=GvryTPp-O~ov7X?ezph$ zDVlBY2X&%WWH3KCKy%F%N_NAQ0J2rsGeSc7V(#FeeO-yFDkrndY)=lGCM8jnlE|T+ zv|UGjkQmgOv^L5@7Wg=9b9Q3RDc$&Fpmb;JWSUTMH^Xn^ z^y_8gOu}OF91ADza3(JU9-$v#lT%Bondh_wYm}ny6 z4#9ZELQp&5t!uC`E^o$QrBmg&p&N)w21mGMPmbOvH0Zf0m)(J%ch0j8DR z!dM;hKb+v+ll_|J?RSQ2Sm++5v1{%J8w~O|+>3WSC1)4!F#{TH6-~EO71S0;Td41A zd#Qupn<+XWhl3nz0AkB;$%wX!t4+Lq;{8!eK3u_Y8=)SI=zhA-WK`GPZb()7%d(*; zy5a#y?gcu9Ku<|71ain3^A(U)Q^r(?swba|@oV!OI4u2J1j?^Fq*APYScH+`Ogp%W zS5vQ;99%wl>R|?7uH~fU>*%}m3$x;EE?++sZW`F7Z%GwAe`Zo6{;{BAN=#p>w%T(H zIqCk;AS^`f($hB9x4$JN^SA6GfD8^~UEui9Z;g-YDA2d!(qYWN8ncW);W1uKWscFd(AYu?RY`-5yG#`5y~B-e8V;;;;p)Ih*O6n@U?qGI6xY$c(0R0J%0zqa_7g8+bk08Pe(WsD^oCT?b;vrJA`U{b4cU^$I>;^= z+4nFUaSUZ_Wr;DCuk+o1H{bhSJiqtiy?;*F8j;N#tl}-=tZ>@OOb7P9k;uDZGm%-q-iy`YZD(2?P!=Z=jne{|SQD-8o0^T1%Gu);XCLi{me}bx9D7#`>>8+gR zQ=~G1L8e6Pc^vIT%%mu>v-RJY=?% z7nIIIO0TtUw7`o<#P{zs$rdX}$dNn88bHBSXd_i}?eb1YEmeEwo#ZpC-lH>7cRL|V zt<~J;`2Ik}5oFKJF9mYrbMw@Jz5ZA3M#E2US=kyyVqR-d1ibIRPUF=O2jKt-?jm!1(=3^Kn_|sA8GR)pukz<>=l^ju&&c$$)7FW#n(f-se zo#{GiQ@9vxo+|0Z9BD zX7el`i=sQR+fXAR6BW(d!!oKRY#9zQJUP6teAp7xt?O}aC4W)l```?VEwqEhufcmW8HW;YtkCvylc?HGeHDLb zTy<>&Ln9h*Nz`caH&Y!_^<{>BzGvi{J)2-}csE1}ZxVT~omj_?*BcS#nDb;>CpH~} z5pO?%SE7+`Z7jxGq^E}TX0@xm%7{D6%f*d_N=}?6r_k4W;n^|;p+7FbdAl-8Y&wmw z8w~h0$F+hH%bCyl5>gmav3C-%Y|_l6G@?iGm8yrM%_xih?z=N=yC zl|F*0JKA55IBrCnIA?7PNbMtFWpn`s^#QcMroYvq#pQPHjX&F8 zM!$FKqAVsM%EG=l9A3vhjdCw3&zsvPHE}^223!LYl-eVe-I=U9LZm&Dgvifp>m{rz z-Cf8TF#k?4)4bSD&K8462_tC+}~4Uhc9!v>p#TP_FTpKK?Y{DuXPSJ*QP# zajZs$Ywq7|$YM-V`;G9k7BFi`%-2ZW%Q?3zH$9Yf#gG>(GacG;I&vU!dTcy+7Bg)z@+8aR$Q zM3BSc^w<_ZwCikRNbw=$rWD0M=4MtQQ;>y~dx0@W%KPOCvEwGk7I!X_TH=@BUapUm zOFi}_uhv>L?7x-MSvZe z{*GtGRZ5L>b#Uu1<#fW~A#Giu0r{YqDkeY*&(5gqRX~j&Euz&~2j?x=w^Y0{7=4g& zwfO~k4#P=1`>WL{nIv>s^u?A0$~O9zLOLVEtuW|JuD&qSxhs!`pF->)+Kv~_Mh1hO z@Qn@^3;i!cQsa}mzLs=!Oa*dsy%#77_Qvf4CHi2wjG;cJqt=YF zmv1sn+79gUG@ANF2v|&Y5LsV1?cZt?EyAp?hnFXCMSy9-bc^~?RO4$tWFK}I=~biC zPAif*)b_iN~SXAgrFGSWo@Tn*V#bbLRAx`Gr~p4q3%py<@;Ref4*ERGg*6` zIG8;#5UH1Shx?ZSX>^=hHoS1>5Pcl%HCulAt#ZlF#rM_s{Re|S#BT-g0Y`xcemid8fO@ryLI8j^1ps3J z00{m%kp%K}9WtI2;zNqo!4X6J2xI~=M8_v6NH?4qbQK>JN+gl5`jBwf2{-V%0pY}u z!~6n(7XVNIz=BS{X1Hq@_N2e3)=Y%a9zsxWR!GiplC?bf0{jLl!45mm_oRC3j@w~m z3+hhqYU4blS9-bH(r#M%lKV>tBJ6J6{Mgdno}KUBP@Tz6=#8AM z&?JmcVx@IQ@~9OJFWzs+r!**>?f3VMvWdvWS0+wQzY<=m4M~^QwuS{$naTIVM^(+5dFjon(J$8dkYd+tj8SjS8NywK7)(VVIaa6HL#Qv=&HzqB#M3!lU zC(&J;Ogxvd?#5bPCvL~RsO;}C5TM;8&Kq^bC|)edAC3j@ukyc!3g1ALK#yHCnhms&3dV zOOa>Xa$j-VOdZ`h`+F0h@ClHeRxHf!MB{^mezDzR;^Jx zGmIa1bTs5s_3Y~zHMO7;#!f7zHRVb`)I-f7D1X^BavGUALRc@bPRB*V8C*R6k)+{X zH}+$UV!;y3)m-5dCxKozeWL-6-Q&OB7N^zt*P9yhB79KFc0lCj<6`Slj#BEv&v?E= z&e@i*4N;e0^Y3eG_K`&`awU7*?;brIt~?0-1KdRoJT7I!f~FfWrhJ(uaW(GPK(@*r zW^gB@NwOzfrP`dMqFR5i-SkjVPE4T^)=M&OLSNGp^}u1x)po8)I@CEIDwDZd8~|f` zD(-!d>-GrO__$+v(zi+2&kAoX)BK$EtX2W+(Iz&P%AD*>cwG5OvW|4gbELrNcm(FF z0i;{lSGm78B9oo&biJsx9`Q<}Q^Nvqis+2(j20HN@$2^2dq@$1lLfs^CTA7 zlak3F16??eFtAFyrwP($JR*hHmLN_LYwK8U4~|0W+B# z*3H@7@a{1Zm_)@y0bXYqFAE z##rxIQme%_Bhx=DCmzOTAO58i)#EclbeI7iLienH}2SabVUOO@%Cf+@G- zb%%$F?49N-%*PZU4lShhiO!`;La_FAP?L4Kq4pBJywPiK-|nFm2XrN)IKRHOd8g90K zHCJp5GK1O+_e3n&6|m!EigYw7!C8^AKG53NrzL|!*J8)qK3J>O)Xa+)sqnr}W<0s= z@JL5#`RPdEdSA$gs5g#Xn;FL5D-x=dcjR-{R&(WgK`n!5R6fnm>b`rNdS0lphHBkZ zRHj6S+(-zr+3IGT0rOt!pDV)YfH(!%8R>*O z+IYh(lJ*IkGxCXiE3Y}%L`xJOQS&*sbR@q3^m6O;gNVxIDt{em^L+V%BcB}Zuh-7d zo_Lt{2$V$njnr-1DoZ2=9v8j%G_DV~t~{MH>WlFx$@UTy+i3B{im&*@ThctPb!|qj zVA{{JwYMoNFCO^5ybzz4;A*jZR=pozj{tvO>Ak5QyKM2R2#(X|MD*WClMp;-B*ao* z_kk;TW5o}{mxq_G)rW^JXES+NcI=(;>FeT{?qhdgEty*;-=aG^luv{&EF+Us#1ahP zM{Tso%I7E!M`T1#xrtb1nM=+-v{$PPi#a{5_0?-5()$naP}w&!vjErB)>Ty*<|TSn z(A4Ix8jf>PE90tE66gf=K~VE^z?;OqjO%Vl^8NE9417SI5&6+avL+|7)Fk*IdVl<4~oS@dz!OC&L!kp zL_8Tqqq!NmRsKEy_y0Hl-|xlu^Lz1o|ApGHa~J}E0DeG`-?39meXQe~Qvg7x5dd%v z001BYRAUfPL8?*y5h(A7I91;;lpi7r5r$IrMk239h9SNDW5dHDqP)B#e1i}e|Es}~ zVW`s_oB$61AQ=F-nVue~^+O9y8hhWQ&sW-uLdbVX5whWD4HWBm+jP#fqs@S%mxnn{ zr>&^gIU}r&6_F8%jh6=I3lh$*4I-B4+~$=p>$&fbm+$DP9`tk=gUboGtLIWu*oFi! zg@@sIs5h=2@{aJ?Fx6jZObdANBj}+Y4MYAKv(^ZP!}pUKp84(vNHd7JMwbRY3)?SN3F9D4EGN zcpDRKfmW7N+Z;__q(mL+6I865ubT2bR^pS>pW{~k+SRJ7oHm?x7x0ipsdf%ftO2w} zPN24jWEOv6$6F>LC*zd#uQ`JVoihXmdvTxSNr-{5V70G<6-626AoSsj@L_qW5ikF& zBEAEUQ=>SBX-)>zDuIU-1WcPfv{Ul?u`0X0z0&^NWiZza_l~Lo@NO}LpYq*+GiTR) zz2kVe(_~aXUp^p;DV$5L@bY=DV%umDo{a^;{@}g*r5$UY5<>gS{apn|?=N}mF=1|b z(M-x&m-KdS%XTa}tl=Izi7fBnZzCp1nP{5&Lx}FzwiCn||LYf_e4ZO**RM1~@49zd==TxXW;0)ZRTXFdqv;PfS za_^yGExONLiLz{fE0r}#Iew2knlwM3!CKsqs|j;eVa#F{yIiem#r6aYL){O&5J*nG zT3jsSQpES4mWdBZaHDeF#=6eX-Qki}bt-|@y8Ct%{?9-&g~lu%sKB6JaerJ1~p8J4go7@xB46eR9KW6s8*iw|jSB-PV!`k$Lj?@6s&$zaC@g6YLtm8PZ6H)WnvywKlg6s=O;c5?Q{FE zt~Z)PdRzg%kpvIcBbdrcm-N5jjLRhph%dWvH%Hvlp4Kofx)lUd5j($h4t1CR8h+4% zn-_A3<}Nu)1TR#gQPB+HnwRJEL-rmt{uPY!MIu;)`!>gIxPM3%@NP72<8*DZ_v2!s z^DGQho8`w-*Wxl*V`Qun1w1NTeXeLBDJ2BQ+^;{L=mraF)goZLQf zfS&3<8$Z>lOU04zFVBv>8p;Ue56yvID3zHzOf>P^ zyai@G2(ELX%kqnRdbEnmg^HM9$Ks1~Ojm)o_1ALAe?9(e`|1$fE`(B#FRj@d-ZwPx zQJTlOYL?L*BNO7L;bG73J0fg0KP_%N$}Q5Q<|yv^jaMB>`xs?GbTi}9uEhLQ6Fkqn z=fUK?iki@+$24!D+mAo@YMe_CMl>mBm5lB8b1#JJYs{H8Nn>eK$64 z4ftA_q0GnXKG$aR(g%ue?ge|Xt(IVsVfL}UQ{ePq%nA%Gp)Erx&gq)AsH~LgBPO`Ers( z)e&r6IjYMlpF=H1jlD-QwoFuHL^Rde>L=k&dyMB@tKx5&Q@Jw+pH^ix-36MN83)l) zT>WMxc4MkjWknXCnHM`!H)Fc`8KYf3l3oy&N4u;@FusHIy_WFf)r7J%FkcjC$v$%` zp6RvB$Fd0g=GJ`J-gP2y?kllt-+POvFSBB!?b*&|;wsoR)n7J*kKuRb`iGWo!#rFH zX2pu9@F;!~c)bTL$eH58_d3&;C*43{CHKfXPz{{ROXZNffcPT6jf$Y`S zQ@kjWTyL)#w@U0SiGU}!3ZCWNlNEvy$XyaDjTSV(o+v#4jeb|TQm*jqg!QsXqXY&V z-v#aJFzFnb$rf!DCPAxZgclnG=?3=UZbvptu*S$Sk&JoT`j<_!h*4PW+ zdxvB+33EHB)rhq%(*pO*8wQYpru&kaNsE`T%HjVb7k2Nu6dVhi{spP#ZR&A^ZQf gqTgcl-z2mBi~q}!pf;Rb|DM@?*Y`I?PXD|91JzT6!~g&Q literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.11-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..cd3c0942cd529870711450365aa3ad892b98dead GIT binary patch literal 2334 zcmbW(X&@600|xMoC|9N=N#>SgG)I|h$lPT#lq0kaOU*Ickg}!G-!&1V6eU*|awO&| zw< z+9v?;1^_4kfa%@40eU-np-)(!s*S~RTJboQMmbuti;S6CsYu=F!^}_w-;>I%6gMHe zCi|4$)%x#}z0xa{X4Z4k?w86XZA0mAzfUgHKW#7ho`!6;)LRnmiaZ<)s zNG#Itc9}&xZ2}&Lm0;=d$q$I8V|qv>GvuFd3|(9{V#-zeW2M(LDP|>WiiTuT%XK5w z>dd5|P{3Wkk0LfvYmhNXfT62@Q}^~&!TEl+ienn$19ZGjS55aIxx}I5E=q$lkTvuf zoVC3v@LpNXZcKAJr94|5)%+6yN_{bYC1I!Gj@ZG1Cgg96B9ufP#74n^uR3F%&2&#C zX#HkX)YbXa>AP#P61A{asbGC?Q&aBozz7s88nKtgKVYN2G$}Kgl$hW1#OfEs9Rn$b z9elA;=Qu6~a>ns51(aYN$yonLMV&Ky>eoDy!yu_n zBszyNJJ&<{0#9bDtmtl?NhvcNA|Kb!6)-@t^nwRCpMfyk){e4W`wu%HEA3rm4ZM3( zGyS8YcgFL$6AARQXBwX*P42^E_;%(KfNM@M7)vNIcE}le-Q7?#{^WHI=MBDtf&_!Q zGS4hDVQ1~%K%n(Ax`jvIgyLM^WqaiMp@ck=CG--qLXxLa?=b(0G*S^YZCpGduZXFKL8-0OW6s{4z15MljaEq`vXS1IRab~HyBqfn5%$z7<6gDT1+@+4W85w0%DYs_Mn9rJyh1O? zy}|~rBU)>-uGWOlv@LucUbZkKSoyl}i&cle#?h2NayVbP4N58JP!6)*a9+_$7Ud_I zVSoBQIT@JFi5J$L_%idLuA{Z*tTdpR}=WN@3I6Y&Qu=)P+8WeqmLvZUFJDpDMXD}#Nz7dh0+1K*sZD)m7%6*J- zWAO5Wq#<$a?uYw2DqeOIvIGyu2frBf641Ra36TKTvYFlj@rN;L-77kAv*{=saQ_Yt zbZfZB+Jtb^BdK#n)=u5O)6D#UkiHgefivPSf#EtO05ZZ&T6KoJ++Me2+v4#jp#haiz0gm3rTaJ^uP4<9Lln;VRjk_xfs3 zaYEa0^^84~%+`eq5^6+?s6D9- z=;;nv`pDpvI>aLs9C28%Ie7xeLxV)5{r=XO(jpz7-!U#ur^9*#a9F`HA*njv}HKQqy=2V zpwxwf06Q&D+z1KbYKwT~7u422>zydPIo$9Z4f=WyIvf$xO*;l!TI`+CSmdTXqWR+A zrwnEsV^}l z`;;wQlO^?8Y|7t~{o=@z6HY?i3!UeFYTa;Z)ETbvGJ;57`%><;S3UIh!JF!fMzqL2 zt!$oJxTy5H<54v72zYtNQHQ;p;jH7j9MRePPI3VB`$V|Sa0OotS;Yn3o+VeS{6lG! zeRPX6{^50xdVpHxsfnsr%+|q1%U>Art2gUwW%|e92TVC4Sr-U@QVh(IJge?QN31Zj zE5Tr>g4C$~GAF)vwq|#$X@7@}tWiUE)lqh^+jdBySpcl0yBGv&n;hA%K&qf$!E}2|Z*zcyLo90w} zV{ZPRR}G3AW8@oNoIe)#v!PPE))rmC?unXJ7eqAI)^sxS&(_ij2U5n_x>qiE&NKda zgwbJFA)mUS2a{Wza?^7Z3Kp-Ic0C1?eiyWfcyM3sE&HZRART~waQ^?zl)qB>Zz#Zj Z=l?mJ9ZIk`w9;4(wYDkZ(r~R1> zvD|zdiSQ?)+)A;Cr~mW*dGq{!FTS7Oi{JaN3yg~!3g83?0SbbSZn??rANQOE06HuH z00RI3fI>pzP%)v9nBXWhA}RqAh(QOTVo(?~1Q8yt6^#k^4~~z-M8)_cq5?xvxL~cY zXbhTmB>nlyC6u7mTyz$q2yrTxE`m%q+njqFs^nfZnN3Q&F$cRlk!Be)Sd<*DZkU1*U))tt8NX>0)9ZCqY6%RauaUrslqOf<*miut=BUhjL7Jb~ugz{je zk>=UJ)lWKfp4lChdV}m{ATDE;EBIH|^lx@5Gr5O!XDUj~3_Tqy^u0kN3$t>@kEhdq z45~~gFEJC@Y0Tz3SF&7NPRmyAg`BWi_r0jQZIvjSDZ#t-^$pp$`}7;2tLn%LrSoNq z89IM`eC4YE^AKOnu2&7-I|0k{SReel3aowsfcx-!WtZ4ny;9#JUoBlCoPXN-^>ZGq z#HQhTb4N`^OKYov3M#|${heA_I>#iWo`ZKR`Kk82w`h((HC_ICYS^2N-r4v);dB1R zvi&5ssOE8eCpP@*rY3Gl`dRi7@rAgU?YkrhZ#GZ)G|y<7$rM5<`%Q>a_VZfrcSztf>jB49ITZ4Zi2GwexxX^Hf(#Xx_uz ze**%+>EGNPGya;ea2XJP?g^uR>ujd#etV(cp|Ev2{Amxa6Yh~X+m)Em(w#ibYcqJ! zw;_CqBXP}2y+METg?3Z>ar@|Pq4(Bg)J7ZEu5(=wMxYH5`B{&(?OR&u^iDXd zS2~_}ZxhD9HIuCUFGnyEbqECpBI&gQiKmWzFQyR zseZ6qI!N}xs>QE#7A0xjbqs^3{PFF|Z4a3T(xaKOm#~i_cDU|WgsNiwzD#wHqLKJ< zp`P3Mvh8t#4BF}7r^ZevcOYJqEjo;vLPAP;p7PDjc`zBkm^rfvH+-2uXd^_#G$Ex> z@TF^*;tb|BSk2vVw&o(zue9ChPah6{na!oHG7f~HfzL@|8t#|(Lk#cFt*9`mG@#{} z|CVE}{b$8D=ZV!0ACK3mN1FE5Md(|5g%?eLnJeCTp_w&9Nj;HNJ--5Pux9B`gJCjZ z1lkQV_ZDxjQ@LlWmT#FGaC+;zMMARJWI*n#+IrIbTfb7c)unb=g=G0>(??8D<(JA8 z9&dkYYL)g(Y0=TbfxcI9UC%aIOf4NpSL0?thy+tQ+}nRqBZBv!-U&3iM{(B|4tz5p z3%3#Xtx~Ka2OE$)*4G@(%Glt9Ut_eo*tn=Sh8qRZDztD_iFvbS@@S6eF{G{b{)0Ss zht1Cyd=QR;m|)eSZpE;yBc+9F(@$Ov`Ct^j>#avsP5K2G<;^=Rq~44qy{hxNqfZT? z$X=MUfEmw!)M6C@`F;HU@KT<%qZ~cDHw)4go_dxjga#Cd_eIoM9B&lP7L3Xaefq=^ zM#Oh@-JV5Mg)YX6_J8vEGr&&C^VYQ(l;JlvXyy0}dM1f#IAe7nd53x&dbpya@l3M@( literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.12-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..5758a847eca2d156605f1194598272424052f697 GIT binary patch literal 2337 zcmbW3X&@7f1IFi=J8LpbXo_+)UMEu!2;C0BCW=9tYW;f)%p98p53kTb^|QRd7h zM{~?s5)HkM%oSpbfA9bM|I7b*KKwpC-<}UYjFo^O8o&>b1U&WOI%c*%V_Xpd0IZMz zfGz+4!1=*%;K*1w*_RaTNs54b6M}tkWE>$F?im=U6-o%a?t3$YKq6oFBza?T;l5h< zP(rY%AP{g30Ehtq&L$-IBX|g69;>h3@IVeD7^m8*6qn>6k2+B$PSZQoL^R{itJ_I- z6t!rxOzvN8UX<>aAAZ;OF1mJdQsC z-#ol52NV~80m1B=14A!VDBaEb*cK=p{`dWm05`gnyohjsD&DZp($HWlT!cQOdQ|kj z(eIYK8lX{ReZr;1;SG@_WDxMdE6gUSd(iJ;RiiRvJleJ@s5|gMNb1Ue$5o3J_mgEX~^F zY+0?}n_!IA$Dd+Wo5D#_%xCa&$=Ax~3*@%z#vKLHMPUvdz@EN ziNg=Bt7-pj>)z9lny4+>-purZUk{}n6*nd# zX7hN-ChnUGFncE8nZTmT~ZaGadWJqZcQ1 zh(BZB+iPsEF)`v4{MU?kM%fqe`Ya+*CySo=jx>U0*plB&@hk(D6{`?vM!J?`S5%xaSY+E{yMq-Xllqn`_*fbnO=A>+;x z!n0q>e<-i*$%DS7<~73n1$I{$2Gke);h*$mMqsDC&4qqDADgw*FdY~|%vnwA2+XUe z5R==nrb!8uF3~UHNh=PehhO8Zju$0Xu6TYb#yjToP1P%zny|+u@%v7PZ&9k@=%YzbYE+EOI*yKhN&`xZi6A4IQM_`>e>@XiD zEUlkfyG!?VuXw8E7Pllj7-rav(zGv@atF6Xr)M-6i7}J7Gv`wI@%lNR#*VFYWWiY4 z0ZEBE6D212u1im-FwMNYEBZp%k6Hi_3<`~KzUY0I;Im)luQ#{2i zo2{KC8gK*=a?9wM8%VSdkX=Ne76rLm;REsjRRf2vRKtHLS~IFc(BICR<3eH|>UJcx zi^tj5lui$2t$bX)4ExcYf>#>R%&~zStU`T{=2?GDT#YCb38`(f`YPNWBR5)V^gC0& zBVt}LH={c2H0#@my7v~%>P=pI$sD5Ffa;5eu!($Og|G3(Q!a}fd}Z48_J^q|HQL*r z?Dq&ihtW010nR)t+_Xg8LrhuH&cb?v4m*TMeEaAwF*8{iJDkOn<$|v9+Evyw>ec##8#InXGiR=#c%aO<}>$(5MWb)FDvGRevC`#?|+!id=kf#o- z6?0EWwb&cIV91c)d(B0pnWmPJ#KOaLgoj*^-IB;&WgKtxj$@%^UXsB20d#Q7x=w+% zw^MI+GyMuVgnzKYbh>qmE)LpU6akKrAHE3+Ap%fg;f{?q9 zB--_RC2cK~a4V0tEuPHJLdaS?>{X0BSHYce*kzVW^n)j literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.13-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..3b2ea1690f57f34d3091873c33d11c1e772775e0 GIT binary patch literal 2442 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.13-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..533d9b0274d4c31371d36df221385ea453904fbe GIT binary patch literal 2334 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 clI7p|ztDn0vUB`)yi03H%m2><{9 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.14-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..c057cc95d20bffe3d6b8dbe4b63927a7bf0abf6a GIT binary patch literal 2446 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 b;J@>Ksm0oy@xs4n;Geqx*@{050s#I4x=~PP literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.15-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..40bebdc062d920b657d37340160b2c0980d66aad GIT binary patch literal 2445 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.15-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..bca20b79921ff6b28c139ddd85aa915485303f72 GIT binary patch literal 2334 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 a_!s||wAi3{c>f)9{4Vx4D}P%M0Q>`b@kp!y literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.16-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..f6f32940e75895c068e5eb76de9d7e5c3e9ea4cd GIT binary patch literal 2447 zcmbW3X*?4S1IK5~ncN~`lw2WUA*@LlLYhd%hPiF7zbm&^j#ws4G(^s1?)!)w{e?y{ z3N80Nlq>Pn^Zt4B{C+RKpWln$`>&-bGYb>|1e^wBxcs^s*d?9a%?<#xUk3m*004l8 zt5UE>pu18a#vhCJ4^?u;VO=}|J#bhhw70i%0M6SH6XJ{W4|GKPJG*-XVU#@sa99o& z5C91PL<0c2@$qhIM{0igBSZDqxN~~29x@#g_++cIda{*VEf9fLznj4P+Jlt49Pmz) zlwn5Oir}!wMy;OVoQTc6DnVmELc_}RI$`M7G76%!|E^76GY@ZG{4FMiX@Dmv{lGWQ z5*oeQgYe8@^*wU>yz1{s!VCTu+RNs*P&OxS)A{X7nHtUocyT4@Ls3Mkl(Pl zZEyDoQ%Fh6zI|fUOWQvDGEdX>73xh>B9|JWy^}&Si;~ZxKPu9A=syj$9iJ@E*TEv| zqbapHb$72HA=Pr8D$Oe>hlqmuHJynmYg7d0=NF%fzOV1 zk+0ik2!E2`ln9*7312XoTu}DW)#zoFpG+A>Et@X8h(CW=-y<3L{FxBT9@u+S59hA!7+A26HgKmzQO`z*=t z==T+~9w};xYwSzBk`kU(mD|@;W03Qj)X#$RSAuRAhcVcBr{~)mOhu}(P|oA`FHl|Ot7ZQ7QIp&LrX(%3NNECHvPvN_d9e>ao z7&dL1xt;wkhbOKT<)p0rIFbJ1=Xgw#h_1?&k#e71F6xYTs}`;MrR z8wpR{dF#aW%R|CK|PEU^+=_3u%S@D+Aul2 z#K1`2Y*0sA`@x1JF264{Z~m!A6=}v*!ll-SfVk^2VuB_oZJoK6cF6NUaD} zvH5bT`S#^y>IrnQH875kjhsu@$s&Kk$O;hB9BN*k<@iX<)q#<`)deR`#-=DvSFU`a zS4o768#{LeaA4oX$)1xlWe> zby`VM*A{)^G`JvB)=;wL_ChxV{eti41AwVt=EBD560ho9o6>o8Mm2TsDhp)>*_Jl- z9!53F3C+E1E+~i%agTUv);iO+I@JMB)PA&B(zT-`GkJe?B~;gAWViekWJ;&Op@^wz zBS)bAgO|n|xdEZ@U^3fKgGg%O_1c!)9a+aRwoHR^eTP+ z`!>+GWjud>;#xuM+Ag6vaaQG)sB7fbbSW}! zJR50J7qO>1H^MT_265iYpV;XnZS4Z=X&U|%MkX1P>m+(n9TlnY>~1Ids!bQd^N@Jo zLL^hoxGiSGdXo`XwuB%(ysz%cHh>&^VDefvs1Gi0iP1VW#`sdHyeMG>U|HhotY?_f4g;X_NNkugpN=) z{`BJD_=O7mb?pEe(@X7y`cQY4;ij(WZp_ZpGwP*0D?rwd)8O^XNm<;4OqTCdMZvDnl4DQj2|Twxc?^WgO;66;La*d${G9X&5pZK+hc;Z8 z-bytliPN;iHu*6{Cso1MB6p8AVH4Y;zFRRWDItXi7H7Kf8*i~bs;~6y^gCZ89_c(` zinlf*HuzZC_}WlY9ZO}5Gc*saKv9Q?!B@@0yfv6lH{!@M99N!{4L`cnPfQ1`A$pyX z2RS$A_z~vBl^@&0W=2drlWfV2C?LIX;!$s|5KEhNeLMbG-J_fI!;GiB%rjCdF3t5! z1uOdeU=OFxmX1J<_1Gp#JJ6Ht@5avNLwNpn*&KMvs6W>Q;~fyo5`TwVN#P@gFdt>Y zolAb_nb8q(cfUQ=mip$$9>tasS!PWMtBr;!rx`%Z{RiG#vX}k#uXugJdZ-MrG-U!p jng6#J{ZXU;CYtFl{x3_iGzGE#Jv05O^B)Rx{9XS6?r@<* literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.16-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..8a97dfb7b75b50f2fb00dca7bbfb26db1ba080ad GIT binary patch literal 2334 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.17-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..9727c59abd8384082945545dc74248645d31aa29 GIT binary patch literal 2445 zcmbW3X*?5-1IA~~u}C3jW^E5*($x$bh`-5G;>K76BEK-d`1WAsoYX+CPb;evz1UP8U>#}tt*<)qQd;o}yM zJIPIk^plsa)<5g>*5`XBsZelB(T#B1iM3c+pDT4&DCqig%y7jo5X!Om8+=-BazuMG zaO1OVaSh0Kd%H)d?%9Kt;G&I#`&V_OY+GcS=qoBId&dy!q|$4gqQ|6uJ11)EU{^CG+E(}c6p#=bx}6|XRlTsP zJ$EQ1+vDgMei|gpJ}==|kj7 zm}XHr5f&mBUA%<>yG>FNL+yl{gAk)UX%88)cBp~j&ZC40WF#Fm5Sl9bvKUSfhDQiG z53KzXA9jH>#kTG{3k9oskR77HYXpn_H&)t!_M)8$5VKeK;{zVN@eOX9|N3 zmYABg%ZpqDib4%@QN5BRzj~=`Fj@tyXJ$uO)CQ>|>`E{J#$`H&DTys{%K6Vpo#BT! z5%vKSsFy5#0(N$?dV$9hF+GR=X(QeGrVGs|0w>1!vXQpc8D15$Ij^x5&h;R{Jrrzt+ z+IN!stF(vlOwaRhIiQsB{mI#!S$LC<%T1Na5)xt8R;&)-gc?t&Ya*jQOJCFp#`~$_0#IS{r@I?&M(D|4!1(fL)U|ms^pNJT) z#+o3L=cB*hh~M(I&PQF(;lJ1Ywy`Ed6?D6expAHCXZ#_4^~<^f->rW)RM?oyg|k`* zX%A?d)-lLVss&Qi*GZsL_ytuP$Ndz$r0#Dlll|8^Vt3@*(gDU7pUa(LCO5M#Z=YNs zeBvCm-`DTFH&QkIW#neAG8Mu0Cb9B8Y2imKHpIHDDw;sdpKmOWznIy@Ld|7!#^o+V zIdhb#E7@l=h>Vt-INglBCR0`)C%9i$gSd%xkO`5A@_+>)OV!{bhxlKp)xbU<)=!%ytPOunwG$8g-g1^OCDF7d}wnl3e=fOED5 zv74CQpo*PB~UFBS3{Q~f!d@1B(G9+Fg>AOuNQmdRbAY4(VbIyS2y@}`Ac z9v;BO;u-6Xf4wB;@q%{;oH%|A;01W5VCpSj_>DY&|7lT3{$}ZPysk6#b-pvn zrq9G;b}+XoY(oQlgr1Jje7+es)3^z3E{Cf5GAp4(&(wI+z|cthtj4Q((oLFyhsiie zx6>u*W0ngO<8e6?miX@4fBJQ_>$Y|n9P5)lMRdoYLxM=QsOHSp8vP?UrgY5Ge{d~v z+A(j@&W_|iDDX(Ds`Ds)km8cyW+NFW+P)1myK=a4^y$;rFeG|!(Nok<&;pX$abwU! z=~Kl!gDxBYa#S_3!L?%UeQb7;zs4@g^QoG&4~ zl@`5|rjOI=T)V(lf_FOJce4fhOugBa`|fR2Tqf*%<~}AXUKz7f(8b!L(azXevH=ZF i{BJ7y4MzV}BHN$%zZl8RlAYtvnC-Vwzw<2kPx}u}teXA+ literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.17-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..c25842161eb8ca109b76f0f7db13b558b01ea425 GIT binary patch literal 2334 zcmbW(X&@7f0|xN9$(2xYON*9`kYjVreaD36j1d#Va?H>ixsv=@lA(B!P;x9+Cgxl# zW4(zSxy>!PiuCsWzyH7dpXbB#>G}S1u;Jh|1h4~y0Qr80E-&`AFClmV02^HZ;0gc$ zK;HyMqay;r5&l?=4>ksj3dQ)LBhaB3uupI>O3w?i>} zoLm4;03ZPX&`(bf&^XcvFJ%rk!32wXF=*gh*_14Vq=C{a{x@2p?crwZrQ{zET==Xy ztsgM9C@W$Ni4C%W`MiWHvR=$GJiB>iYCU`KaQTK7_@IYktW%O=Upbwa$VL~A%KH(P z?BJ7B2k%drG)(muVQR3;|1CiD`w&$%6TQ};gFx&P>VY4VCB9usWIh`_YW0dudTq3H zLf^9falfyD$YTZN!mx{O*?1R#*!y6Kar_t*D8Lb9EFX@k=6gguOL3~jb<2>BLFs;T z!UhRny|NN={f>9srOj=<%8tkFK1=1so@X!fP#a^u`s`Jvr_N%9%NXcv6vM$(zN>3` z=ks!osmB6;#bDZC^SRbN_w|Xe4oHbkJrvyX>1@Dq}RARoG0fmopO4H@fnTzd&-3wh~e7)QK%3De}x`O)KEi;!};It+PL( zPM6U}WrWdZzrGj)y&UDeRxP|pazxsBQOD%#-XksJ%0?_lR=cCc?^T~Z6Tbb7)^tavWiAr`@d^ zuE?x7i(Bx5CYyBFqu&nM1~!160*BsBt+I-Pxe9iFSa^4I`yU5=i1$`48ARxI%Jt$H zV=9Qv=3~Ry-}I2Ca>1x_uT=l!FdsHcovy_+k4USNkW^IX98OpuN>+h1ulYDct87nn z)5pNBn7Pz@?L&ge!7Vz}j+m&L37OZ+cwvjrIX=AyQlpBuK3t2z%jQ~0Y4D~UY~@F4 zuGpDA*iBftH5YHjGc0b*s7H9bF1VUO({3Ty?Kw)YE?Z(eCzi+uIQin`9+jQD4Gih` z=|_~7pzvLK85F;ns=4=Rz)}>vU}}>2LjUjKQ_k$Wp2n9CE1RANZ)Fx%)OEn-5fjr~ z$DAcOMBTcS#-|VU_}o#@&%-^cT`Z9SbE0cxqzgo>s{VxNbGE)^mf%g1)an_{B#k%( z4jFj2)iR-in3k2{bxpT-mb7GEEH9j{{JMeWv?u}8rnFzmzi>980pgVpJp{KQov=M6 zdU($6ADJL|fjcX(xHs{aG$A7gExo+y5`Z~w#(iLvZgWMlbN=S%jUWqWZj7=XGeH#` zR&G=Gd;7wksG048+w^$Qn)N9`*ue=`14kAxkKaxC8=`f%ky*0GAIfU^SkosplNFT` zV%iUgq&&}76jixW%kftD-5ryiVZNWXhBROJ+yQZ6rsk)+E_wsIelaJ#pJd!x9uq2; z7EEuxUDUcrc4>cKcNg2@Z(li~8fBg?H4|>q<1VzA7z5e@918N?k|cG4x%yIt-YxK4 zpVE*M80n=qZoaFRJpmnoz!wHVHVgKWtk(gI!~^4A^VPn_5Yp zWhFz=m&X?0JX#X%%#k|DwDb98@!3S~kigc?D_JCs);%>^d6|kuK?Qcsjc&@Bx~~U* zaWic(oqX(Xs-!($oo0$N^bAXMx)(vbnU%JMnw6fozuD{<^K4BMOOeia(sR=Lpx6CL zyX^@;fK8^d^TzsjxUHG}=c&0bWa3Ae)r-%cScEty4vd@e(1#k+@J7^#fj0~VsyJ9l z`fZp@saSSW(MzYc2+Z{E0$s9ipL#|4*1B>zvK6B^%*H7wKS*c*o&3n_s)o-Q(~OGs=asI#yFl z(TJ-Y|Ku8qe~cRCrwK*dh9rYWJOcMji0N(jC-{=0tLnNybPj1PfnA;!**D9hO-tXe zsnCz6MU}$?F_zZc&&=&BoNBvaKGImlA;kD3Kus`mdaUYOed(tK=#ZnUNOV_T<@T4~ zK*1gjJ|*w7_x(EaZDkVYGz|%J2d6tCe7a) z?qoFD)KQzUB)0avnvbBByzOCW@OR*cCu=Ld?-oNmb7STT)le!A1=O|~GhKurrP~!_ zr3RBO+pFaP@fU7w_)A5BF4B_!=&!loA(@(z0T8W|Z2rpp z_-?tq<>0rvJ}0dDVOjx)%n6a$u1yDZ{yP+-YJ$7$D!9?MMjIXl)k&0FD^| z0Ga>*z~4tD+&{!mB?LpjdlDj5yaMpv{vrMWcok19Ry8;P>yC*C3?PKKdlJ0-{KGJ+ zcY*`(g1meHR{$U$06?at`Koi&gDUCc4 zp`)PLEAxjF%$^PL3CLFa72{=ylXI)MX;9Y7jZfdQ#@Xv0S}I3FJ%-v9$<}rA2?<=I zqG9>0!24*=#1?}$$#eQC7%*L(Tjo6|&zlz3un_*WP20}yFs>EOxDVMm-#0_C^?5r| zPR{f?y?Wz7eJj{DrMiq<&6L(LV2U2<*{f&Q`i^Uy+81<=^IVy}*T?O)RolXUoutw5 zN|AW6)HU+SWc3Z{3rDB?{;ZmeUm3ArR*xa0QwUn71?U?X@SbfXKvnep^3}<_c1Lz1IKv<^woNn?jdtBPQdjD4M?AoM#2gW zA?tm)?DEbfBf&O2uEqh|3=@N0DOCDAKSdT~o<#*TIL#b?DQ<|5RFcfG zoEeXiwb}QYxsj>kmLB;u!L4qU8YNF&`1RD78;w*A9668*&o^n%1?$NZQMzZ>b|--F z?h*JW3mX|WJ5n=&4n!`U*G*o@5X42C$wB$SOpgEfpqF~4=ego;qJ!c<#G4IqwQlaZ{ z`85kQaI?np%#DF6FaZTfGQgF#tXig#GHb~dV z132n^P+({LqAyMM?}lP%;+3mDb4$Qe&vaS?IeT+ZV(Ha^A;U04ci9A{NX!HnT5T+x zpA!@|v#|bE|Ch~Q?mX0@tc2`UH!@5unK;WfkE{a<#>Tzm6q$^ z^-xu4QU+$T+~qDWX+S#@J;`C16&|cME4u6r!)(jtLs7wMe$A5YVwFL5iw;#QsAmWq zcb#yuzn|eF@J|h*ToYy}Wl(_L)7efcSR3_IdWr?90~9ZKf-zmp#m-*|n{jfGs-yfP zj4bnkX$YxVsjh!{??O;X_4z04J=KWLkX^(;#Eb zMrWrAUJ65I3d?LE(}ebdRTbYY{CqUwPPNH5-yFWL*%g~eUGup#;$u|+uMO_`Ch^{~ zCrVrO-Et)#^tm3D!8)&niQZnS&?laH8`gV=|Nb=hef`1?r)+h1zJ<~X(W00k>2wSp zp|E1Rc(XM(++5d}*jUrO{8p_qiyl@1WWO^Ag~ke9emOBtZ6Czuc^4Jr>Clp&xyjwPjas1Aslx_(!D(%e zR8N~T)AUq6(4WxOrFt?vs&KnXvMYKvUo=b>)~INX>>kFEKe^2<{j4yUbT}M{m}&jY zuSBKbcT0Ar+r`BmC)D2sIacZq2`sme0(X&VQHT);;t$GCM_$|q)0>1V?oyZ3%0s)K z#@~*3efFA=K#h*Sc4Nn*zwII;IHcm#TCzm?;lpn0v=~ospn@;`t!C*^>9JegjMQ+$ zTC-9ZeRpGO{3JG=lr(o9Q-1jvs|>fhC_yo*+iuqVwGzlrW!N1do($5kU1LLCBMe+y zAiUY%8yv|YZ{!Ux%M-J0+!2KyX||&w`riso~a{L7PAn(5>YHqZsc=F$LjXG3>RhQ2i;tT@)fHP+zo{Vg5yN0NO~bv!qt}B~-qws(2(?qE0%a z=7g6&jl0_YTxV0NTJd9+@KzV(4%euIwCh7IO088O&(MIdQ-1nQ_3Mmiis9*5lrcY8 zL5N3o{dch+-_TBy)$(Edl;wipw%DGrB&A?#Si!2Jb4-HaD3#yqXz>Qb4T{zMxHF6q z-V+UDA(*SAFT{ijOKI7au`S4V#F9v2Eeht-d%NFs@|w9)x)X9n`2iv4gA8lDg9+bkiQBhQuvAtMaQNN_brF(ma@PsR<2yzY{&$Z`tGtKJO{B#0)MP%twu7h) zKz~%^9=qWz1h3fT8dh_AReQeFg3ab>5=uK>L^w3(nlQE;MlKq zGD$6kf*|I~Hf(s7o>gn%^!z$dxU=;mu7^nNe-Z)=>r@Ou`9-e{s6}|j$ zSYA#pfFl494gl!J#ks5QtNP@BrPU$8*|L_A=2z)1k9)IB-!wy z+RT#ZYws6D>0&EXJ>wZMTf1seQ=jDe#qZ0>w7msq4TayG?+vu_2-l0JA|g0G2?l2D zct@GvjjTfU5GF3i+!y|;3X~oaNOS!X_=Xv@RHJ2SxgAz5I~XOlF5f!(&cdz#9d~0&qmb-6|P%j?3=Dvdv z`9=BDTZ`$D{Bj~|5fG;FSr~am1S5dUDLihcG7+Y2zz`);)6iXdm}T z5I&=cZM7|}!;F(~JO7sT#k-Jx1zgm`pX-(YqHdKpvSA+|j~!T+1&)gL{RDIpK);7|qf2 zVNa8&b91&z%3;s5`7`lNEos-G@t?eKw8FqS49`ycu!p;CPEDdLMdrAjLwCoh zPE4Kp=#>+)SAlx0hwEovr{>SP_XX_#rgD^SJ*PJ{>($vbqHgrLMF$T~Z&FHEL9rOG zSzV-aYtG%@&n!SN#%E4eNv0}heUivJz$n?q>^8Yfg;q#a3Nb052DTG%#+k%~Yw5L1 zoqUX#X{adEtl3wL!!N8PaC}h~Vk=p_zP*vt2oXN^*?w~>Q&O~W5{B<1!#0a->$9mz{01?O-y^;b4;apZLT*%%6r1TQPCr|^ z9y~hcr6%<=kf2prHHNx9>)3P2Jo>eB6?-6j-x6>Xr$@a~39QXK{CPFgNvAL@ym;Gn zow^AZ(l=aRMB z_GCkycy>i3-_X{06t43Hl|4W5CkhqK?v25kyJAdhx-~6>1MTlF{iV;f<%mE4Tn%M2u&%H^M zu0E07k1j6DB#Rtd}xq>>FH?Z&d(| z$hG?%j(dV+uzk&CPd1;6Om{K>QielymRoZ89X!gMgX2T2$r_=Kxg=%A(&6yucaa$x zv28h(7mJD>X3LRsdl#3Cy{AXqcYi$bQz|tkhT#uSKaRlSqevYGZ^qk`-OhDeM>{F6W>f{` z`bt?Yl1u4~cKd5PF+pi`{4+t*c`hUmf!in+LhvXt8pzL+Pn)}B<|>>8tvj!i=Ybyv zMV}c$glQar-ZtfYOy?feu9<8*?d7oVMx-VAAxgk%XpyP{*AFnUmerCCs_R#j&GQRR z@trkR*YwSxFH;Br?BmMQ&r%jbyg7sWP!~9Ub;Mq(@Ny_98hcVsRxRYQ4-*QRyZy>l zjYbI;F{yTv<6iASt5{hB3!D&WnO!?6_N!yIp<87fG5p616V|>sPaPPX&2zOHfGMuX zIOxKT2=G^xufRK?3P>uix1gI>V^i9~zz=zzJ+G45)qd5qE=#Qqi_UY$YU{%wl4QwH zou@4fYZ*9)f5Jlw%xMH}vA_!o>hLkZ3pY&*r=ORw-6yQH+|N2-P%e(7?kal zWJu?-x?Nl3^gw@j27GPm4$i%4!^F4@8+V>b6&B7{T?B}s0L$ZE#i!f1qe zZDCF`@)9k%bddY?yzlvbzMSXz@c%s@p6`Fh>pZ+>01!YJ@D#P@MqIZHX*~`A2wMOE zx&QzG;}4C-LjU=F(LS{2&7M#UjQZwtq~ZG z#|iNA0lWc#`v8E+!-scZ`>@dR5k`}dQ1M3`=6t7o>SJdaQ&qBHo1R#E=v7cTbtl_R zz^2PKo4L}lAkLKfMK!gWlY)Ct#IJ?sG%rjo=P>qu-qwR|_jFhql%?9go=!>v4vIuQ z-3du?^hvI>=u7=-mWCD`fq@iRC-YH5Q8hEsOZ5iM&RdC;^P?$JtB`plo$demQ)$y< zKLxJ)2JBb3QyQ_PiMS$v*ALXf zQn7dJt1+Uxyw=7g$V8+0h*&RoEdh$oo3^y%O+>_o@qT_1z1~G z#70Ks?_m{N(bo<%`!`HZ@$6{zvYD!P5t$98>4nReiWD?^FiE%Z*SXD3EYw zeRNOH=L)yl=)P09GG*W%OT1v{ki+z>gTXIh05&!dYsqFI*o~b6eE?pB8Bt`Tny%!H`V)#@{B%1z zs0Z@GKtQKBo3jAs=cMwfOY}fY181$av*IOYeaHI(VfRuU?mS64EHu!!;(s?j$!!K~ z-iQCf=1uPq@$DKFQ~on{Vy_?)Rf++I!5_6a>*x;}#5=<(*~z38!{XIIr4Z@&qQlT% z^eI%38!gAcrYGF;V)OP1-o?Q!@zc~cTDUeN$3E5PQE5=v7|WNrDB)?ZwA0-r`|8}E zv%e3XKI0{jy0>Qw+bXU!PsVYmqq{xxDOQfX{FJqsXCjhw*sP*-diF%$^G6EeQ~bE* zs~8z=9c$$j%7io1&w0b`xTr`Om&T}3mGU`eFHvdb$)(-t zmif!)Jnn0V*IbGKEuqZ&%wWqfMZ&qEAO^>LG3&39z~DR>nCWV*5u(3L<*W{NMef?X zsB1o6%RFLqB#%YWe5E&vPKaimBck|-xetw8r)hceTnvZSmcbCpJTk3Xrh_Q|{jR9uiFGRs#@&;vl}{U`MoSuYwj@)OmT zam}q;a=4n`kbO1xyZgH*oACgb<&>{JKZd2wPiJT@_=} z%{wxyjxQ9lOPzKG8$ODCS4&4tBI;Mc-%x#)xdP({vu>3%lr)%j-_{OUD{pwCwxBP| z#`P_vG=9jeQC0LiFe#h8T@Y23TzRFQ&mEe1Go)lH^T$J-rCTM`#E^H!p8X>p315u$ zUuT>FtYL!9&h8a}^HSz*>{ljexF38SN%b4&*^bJy^J?@-gM3sAbG)L3ruF934WV#} z`7|{+spVgV5ovE&Q;JaFY`x7`B4gT;e36R0I*GszJS577#)I2Tp`k)_q4%M|aLz6c zCelm}@Z9>ja`Y}Xxuqsj`eKD{%}@Juw~x|Z(A+Wpvf75s&S*?cpiC#;x)LdmaJZpAcYJ55a56*R9)dci5^;wN5N&uKrdv zaOp|qkjrogpmW>39K1m=JR@V8rV?oC1RX&U0W;cx9RuirvqS6Yr#lyt(fi$EdrDkU%)-GV=o?Yaw&mXw~f;@ybL8sET}F-@3&iR`A!v7vRAnDHnl zd;{j*C+c5UgkAKtV;Ggv$xi_ls literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.3-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..c24eac2c8cf7bbdbabce3a7408cc6a3c4f8f187a GIT binary patch literal 2330 zcmbW(c_7mb0|)S*+_xUgkvo!`cykOhIfhmX+9ikH*gv0pb?&zSgn848JP%K8rKP*f)3LEAdbUOlzi}v-$p+iDrgLH33 zVKMw%+<-R#qyT_LX66mUBg4q*>G2m};j%w4p=x~!>3F29rFx6t>x<&uk+!F*JJ`8y z{0{w&xf7c`s}d8^>m8PMi_-4b+azF-gqN#xYlQK`6~Bu*`-45!CROQINMBP^IYvce zi`fzP5dLYc(4q9tkc^SG@#IeXGNaS8}n;P|=^bakjFXdzKN)yx&-%OQc*g-PI&lsvD%0Q&GS_6I3XbgD`M1DxluVkzH}rZ*#h0BPTZhs3@;<>E2b$t$k%)x9*x~lQ zJR4596gh|j-dwe@XO*Y7KXJzOSV=c;W z4s}_!8icD7kLlBmq~CEu;W1{8f!InmMSO*mb|^gaQnvzaZ>(=Xn1AQ_Tq7T8d1Bo> zd2g4*d|V^_hb0f$87US0R)u(^xMeM`2*# z4zmv&oCR?i;!NtlRZ0Gb{D&gl$$yQM3Pg$E5n!56cWw;TCqH<+{-O<@M3GvUD50T#{`Xl7Q|KK!IniZPlQ*KDoR^ov0+s`|8FO z39q>WI%b&uz-BC$V>K4NbH%DsvMAC9TryOZ z6Zh_~vpFBP`#(7*zT|QsZY&hd2O*Qj7bKb_ht5iemItQ;>&jIAh!fzUot&Ra8U^2e zePp|6hPLyHYi>LZcE5TKP?AghcB?r0>|cn^{6mv#N{WKmYF6`zwU^geNR=!)0zMuf zpq1mY5pc_|rsNt*OOd&uY99VJqRjM9%o6N0a(0i$rpa?3?{hivE5}DfG3du3%Ji8J zfg9S68eXm|5hkjo8f_@^8$$PVjl^dsRTtbN@5Yei{PZI=4;D0&H- zTN>`>Bb8OQ;#)Z9iHzQ8NUiqPEMZQ!!r&qtk}C^Ix>FG z;?*IehN%&n_tK6xt}9@vn)vfKRuWY4=c@4nEee>4mNcjS`$)F7tNZ(BiH3dt1v=uX zV`;HgmNl8Q(>)oQ-5j9uidDkw$G}+YBb|Hdd!kJkpBLr0xcAvpj*k-L8Jef=q--fx z5}!JBG29m9$s#v09+H3B9iHC({zIF1362kE37x-gg7Ot*baX=8E<{Xuc1apfy&k`W zwYk`<5b#Z&Z`p=FXp}`nE$Z%{>5MU-%=7-_9K(~B$+ykk-mWNYEguOd)65upVYbE+ zre`0Eb5Bis@OzGX{((&@f};^9IEsucA2_Zm)RU-2@v)>6=BCtkEn?=528L(pMy2t1 z(8mhOt49>!-whlbPI{A*SVC09xW;`^4-MOUhpzgVKTFW0J511b=x)X&%$|cTadqfI z*HgssBhL6Vz7GFIx0;VRDd$2YBeY+b5h$QI-2u3x-sk9toNlW%9_FGMix)0Mnz(Zg z9Pf|0@$>0ITy6ukSsIWjvSSZps!!}q7ZW}=A<=%Gd~m`&8^U8Wv{7yVM0}d@Z|ioy zOl@<$3<_!xlZkqO`g>A+J#HO52+waiC*39CH{Seusfb;$(L5XXbBFe6_x)~Ag6K_^ z+S^46N&=7cIo7uh>Z0zmi>y;DwbAe@pEpf=s5UOvWfW4ZrE@b^E%b<80Uki>cVa9t zp25#cc>_~CG6OnNHOE(C$NJvV`7D#phkrpUhio}{H7v!D_dV8UCVo4g&GgVD3~2RK zRWlZ!*CRt)^`xK{*M%aL;vujRQK7kR?!%adg~FdMxK;q+#BmD3`M-(sODX?N3dcY5 Xe}M(z#Le^1nd4W{zqb09fB@h>w}NCb literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.4-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..72f1e78631fb1af994c9c0c87ceec0e44d4c4bee GIT binary patch literal 2435 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.4-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..32779ab198d8454898a950d601c0469f604f2552 GIT binary patch literal 2330 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 P2L7q%pQZkR4*>8F9Wqkd literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.6-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..7044f3c248eef3b24bf26791d2a5e123d60f5451 GIT binary patch literal 2433 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 VA{$E{-ha=)f9mlM`N03KzX6&ukL?Ovp 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 Xe`%481s(mrXR3ed{SO%!|6Tt9xe9%h literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.7-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..4e2f5eabd7be6da5027b6700bb1df6457552ccb3 GIT binary patch literal 2322 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 O{?zBsKK=tA0N_8Q-(yAq literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.5.9-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..cfac2d9500a8e8e59d9c8064284504d67db3e454 GIT binary patch literal 2442 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.10-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..c56d7e962cc9ee008b790d1ad4053d361476719b GIT binary patch literal 2456 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.11-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..e467400b5afd642ad730a2db80d35d8942d5579f GIT binary patch literal 2453 zcmbW3X*?5*1IIU+k!32)HKZ8EDECdSFz0eaZYH$Moss)aj#)KCOpD|mB1gz=u85G4 zP|L6I?|G)YFelNbC-;3Y-uMPSXyB>fIzyrwl`R$Yjg?A1VwR66hI1KzZW>ef-1x@qs8$98NwIk8{UH2H``(+&x3Q{rn@a@&Tdv zKrVI=z!d<92LN=^({C#sDg{%f#$RilDe4dOm+TTv$-)TfO4V_@9Q*BFHNzk_?(acq(dVf z9|R@YcqZ0g8%$y7rDD%cDY0Gr03rE|MO3cbW75}6PP*u>l@(Jp-(Xcbb zS^Tg^LDNjjG*=i_;)QlEaq$ZvaIX58bwoAce(2YbccGr_JJK&M*%YACa z-Q}MUTB@LTW*;GXGs&E$pv@`phF>X)Bd#Sbn4;jY4kYUq6EHc|+==VGoNMdTlX;#b zo#L!SWrx2M-XbSUcAxs5EsZIq+rpl+3a+@DG3L0Q%`(f8(Zh5*AT<|Pt69$ciYAI6 z^Ph#pXi<~qT2!(_sBb3k^)_pws}j7z9+|FUj20m&ia`%jOgq)bg4}0Z>Z6D=v!kr; z4nufTQMb5zQ)OZ0ne?AhQTv?fp9rTCS96?Glq=)~DYI(&=!0q;mXx%ZwX0QVQ*5O- zQTJN=dTjFtlpi}=QaIlx%*xQVvyy#Jx($J3kj6}y_HqF<)5Wyci}lA7$@k-f6H1BRN z1Jw9LEa!L?H0Q>~nuTH*LkD!dHlv7={C&{~eUwFiy8@~`^(XLk1qCU|_TR33KvWQNEPw|xL?q6zC;-&m=Om#d>c+0M43C>|vm zXf}vYGy7#nezWENg0>$(F-T~VinGyr;;ryceH~LP>6h08<0oO*g@oQOCTC4v_>k5G zAF4kskq`i~S<%M7g~Y_Igao*#DY8Y?vC8j50k@Bj3wz`P!`HR0?&wGEr09P=U97nT zzc#}1u;H8yE3F;ezMn{8L{}d@l>&X;AW2`b!}Ka$|c-2`s6vXKUuy%tlE#2 zPBU?^Fx9xN7=fW!_ez7k75S6@1R}~$WAQnI5lwE58@<+nYJXT(AHTmNBGvg< zALg?KKQ7JU+re|uC0;BYIIo1(MqOw$-lDEtR(UD@iU+=2!MkPP9O}0LPoUVY(_+O& z)YS(srH=560;80C(FLCou2hGoaSBw`bI90q;NdVTnKo^ALv-wZm+9Y>mB=f?`h|22 zzKY$&S9cSQ2!tcM7j8%GYpKvCws*n392K2swSBmE%d8fZ+tP;KmuhU8BxXCXqC7Yf zj?dp~%TbO)`{iFXy3BgllXA`8RFQTBDlDI%E;-V{2jZMH8^l`z-Oq2re-T1sgbQO8~0I?Kn+(zfw3?3;yvgxe+i@(5K7KUNOS$X{M@X#{ZF`Zn(+*rj%jaCNg~>f z3g1$t+LA) zok$qHS##nmbZklidq`0*Z)Fe`JlZQynKCEt#`FQPoht>B z9ao1O7VA@f^tcCtzdr6$5^iIuSqK2iyP3HSbVG&tr8UWDAiv{yK5o7!g^VOuMvDZF zSLjlHWA@TAPsEEjGH#=UHNQ!_eY;>?>@-e2%NG@LI zgRkwa5c3z(5~@!;+vKon?R~SLq;bcpLgSvjSBnZ{<5S~_tE`MBlQ@E%U2?2j08My( zfN+F%&jVOmx)}`oQGSKD7U8sQmc(dX_#4g^e|KO|81DV>?)-;eOJdzH5 zvQX^uUixxU++n7V$77e(nkEeuANQoo*K2$mf98&KN%_CRQS>cINWa&YOxY~t*}U9Zzt{kgnC1e266m*2L4m;e+cLLcl`&6(TyMg literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.11-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..3a78ce357873c305613176dce24975ee5256f544 GIT binary patch literal 2350 zcmbW(X&@7f0|xM!8Ic%!4U^_3jn^?LA#xLQyhOQ%Y>P4WPAhZkB}cBI+(fxvIVxI; z2y-P-QIurX=6qRh`}h98|G)g7=fm^q`Tj%O^MgzQK)^9TVc?!SOa-`s5dr`ZX8`~d z006*UMMmLBSR^SZg5V!PK?Z~o0&yf<7y;=Y5~39u7UCOpJv=Oek%u)N1qsp7QZIoR9?y_XSm3ks5Obu4J4lvErAtnJDKiB zY`g3-->h}Ap>L#D+DxpzOM7@WLv4t6p0a0`?~LyK@H0Se_jZ~amM1$t_!=M2HzY=; z?Svj4oHM{@&5$hC7(OD%>jE?cq9D(@0y1nR>_^?ArA77VYW zUJCo&+GlNzY_i}|Wf*(kvMX3Tt6h})G*GrDYaX%CH-vAT_D3S zgHe5NMo=Dt9oCiCUSy2j{gO{JF8MKJ3G2o_I6h<<4VnTb+QeDjRAy9E`)!^@{bd@? zBN)*vLryQ!lp~X;c4<+_837fizk zD!t;2mn6TZ#3K!Piu+4mNf)+(*wh|6;k$p-Jkq zKks(z$E)%naWQr|PN4%Od}u(=nTEhW#ox#KTZhQwQx1A!HC8LcXQgCV^lPylBKJEl zg5RljVnPe!4{-+<+NBZ)_)L445d(Y<=5E`+e;uF`XypSxYA6JDhMI zClhKA>c0&uE`BZ2q7BGp21Lejc-HA1XpJ0%s6uJBdQ}zc>8qoShRHi^ol_>!3v)+*` z`GMb26`48mnt$E0N0%FXE2YY2aqnFf|L|wuTaI})dx%T!vyj18-wV{8umJ4JeS^Zc z8}u#ru*#xUbt|Bsh1Ymb+Y-@)bKVaeyLoNTg`?Ge&Vjhzn5xmX zlRl5>%d7hkt>OS3^!4nnIX$mUBfc^vTe=gK#HZz#3g+7FYWNN|A|MQAUUGAd)8`^v z0|$pIkq3V#oi><{&A@E(Sr-qKhU?ivlAhS;ub-VLSJcA5!N0*W%mMB|a4wZHgz>smlD<=}G>P+nbwIw)^fO<_qMbqY z$DCa6os!bGy9v(hQh2*7^sos0jEQ`@>CG0rWe=Ki!xNV+5fifV4EWKc;l7*azMDZ3 zQy<@e(bTFxT@N}=hlMT5RyQ-vyLoc6({;QGH)rOV2Q6cY^t&*7&Pi9}ANROSo!t#H z>#VyLUAnTg6zP)uNkfCmc6$@+p?gN()XCiQ`f?iP zxkjGAs{OlSbN8>5O?R=dLn2yw@ zk}Con{6lW1FdaDbu||h~wkeNRRzCcG(s-R{IH{Cf+|6JQ6G@P)epAi2T9}Ajv{G8#_TXA^ATCCqE*@Vg>~RP`eCj{*dB9ycXM}|kcPKWoO_?U* zvUZO62%WcO!Rs!1;js$xew535+NwArZ!AC@~mDoQi>?y^$@{5sx(Ah^;}s` zD|fQhrKU{6yEr8!^iW>nOYe$Br=jL-xRk~2;)KKtcvCKzfZEOnEuG)h5H$5!YjQMf z&KcfxO4yDQ3+?Sr9if+au*+8=hv|={H>Q1{vlTmXFC51{;9ubHJ!3V<3Z~JD@Gg}8e&af+AAX=IA zMH4eMsiF-}AlGApPH{zx^M|4TwENN2RA0(D8JE7iib{_;aCw&JH5F5h06^Ga+;v{N s)zI%~dp@8k|NmyoFS-0TaeV*I|AiQ|y#V;%GvBWU{MyIAR0IJ02eXz`w*UYD literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.12-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..0da33356e4d3cc0d0ff0da8378ed39073f085e45 GIT binary patch literal 2455 zcmbW3c|6mP1I9m_sYQ<3C`VGrl`CO#ZIk;*pQ^ZfC=o+PynC; z0D#X;xp1FQZ@Eyf;6S(FNI4H&pr=o$4=zy7&EH=>1n2MK6%m9B4s~%0_VD&0c**;Q z-~x|9*a0U1xCH=OiHTU{17&;(ZKO$qE59euN1{{YPMW2lwqy-wn=0%LUJqQ-xR-8o z%!p!~KDyby3?Dtc-l(n5JZ)=V2RFpuZ(gRa-5=Rsa#fYv?QTaSitm^|o4;(}m+!AV0eRpPc?s}b|DT75Pk7s!f6J9XFSL+d$mOJrv5)(uL_Lq3JfRD+z7Oiik zUqvI;9Y1uF9_9H5jkR+e=6BWk`nqnn6ubCtQcV>h?M_qAOBR}}7s9uj`?i3R>WH^a zo>7naPkf+i)7xgA3YA1pP!hI1R9@mOJB&YUM*tywg5PzG%iJ0?Wn%~?p<8T$X8wf0 zw>-pZVZZg8!7#{Tsg~jvhD_VJ{%B{OqEIr$(M`VqiQSkgh%mnSEZn6x?u&?}g{R;Wb6w?x=U+EqX7w&23w=%kJzm51%MBAXMH8f2zX|n5_2;F)pjXFP53?cW2kD z544cdJH`B_ELj+rRk~jpyP%(0W8jHnzpS(8dh_HU(6>?g5ZoZ_%F51}>%xb*iSHM7 z-V7_;bKd4OuYH-tkM_UbeYO1v1-S#ZPziTrJAx6dtMLnmofHN@qkb&aIXfij$xQsAWm^%lM#)Oe_w>ufh*B-NqB$-CncC;UlDuBw758jL zV$498n06)=Imf#L#q}6z4Ke#%3h&0xO%E+l-QC!$)Ru$h(T?Wn*_M=QSlN<8Cao5h zi0P1_8o)6BZZt*5b6wp?G6{IlpOhwQ?HCpW@qq6uGw#+E0{JMOX&5o-DP!E?E611Pcn5LklD@??7oS*cS zzRoN-jmyWlo+(1iRC^DmALOAFr;@mOGE-BGJ;TBYed~V1yvcCUYqdsWt?c1T-jj5W zHb%s*iahbK|KkLY|D<(s_wEJz8}HfcB3E7TUD!fvitHJ+Dl1wF12WOeY$G>iusw=x zN8I4n;N7@n^&>h)5vxU#8DsBpVxnm=*n#7Sy>i)T@pWh5@)RxT=?s2=GD^Fhzt5&5 z)bD%crh*{-u|Y-W*;9**j`#JfY8V>tXWA8(#0R=GL}w~WxKYdHxAnN2nsb6lZ%faU zQ-xZ~Zp*7E@YT}S(49}j^|L|P{swZHZ24G5Vd=w(HO!0Vk=$2cdU~DVXH$XgK1%yw zc2J*~09HbvY+*moI{`yZ-DlKK6FxU%D7Btni=nCty{4=C!%o!z2OE~KxPFOynNi&K z5mFzPSG|_a(LKZ+s_VNw<1HYcXonx!xFJJfJ==E35bZdabx^p?0J`5C^@8>IoF6Ady{rNj; z$o>zMGD!?Be4ojuH2Nl|t-oy!tL1IS-{Odm)7?7!!CFd)6G-j6Se@a6aU#|~sdbO+ zdG`E~q2T;jTNoM|F;w+4R++V;GVdxfxiKn<>1)-im8jNm%}2GTiw8FJ?yA?9IS7s5 zgj;07ky6t7W&tsoJm%^!)(R0scL%P1ovN<1UlR5m5!_VgzN-jD7=c)-1E?;NZqcT# zbS{rd4X2l3$M_}nQPT6yT(hTTV6=xg9IH`TsOkCx|Ay=iz9Qq&ojb<=m2Bn~vTHj3 zMMl%WBg+g5au_&yer3otR-xJATWQwk`8B>F3tM;n8!XANOp*;>Q=@^WRhoM7{_8gh zCnF5fdU)d=8xk%Gw2T}tvHQ0)Hs)s#s)qJFYY$UM>m0{k)SkV5f|mgqXU)DcQ4NK< zId&X83oGZ}_?fEk!nvr-qJ$p?GK~TQ8gW8{g8mm*J~-<=LN^7SmA5DT!&r9^GxskT zD$&wxClA4Q<)ziVxYCXf2Dz*?lSV6fN1!aBhYPeAiCUdN6nH$rXVw?nTQhyM$BWsU z*XWuO8}L9L2aWm$J&}X@Momgvn}SsGekt6pyEdD0VE@t9hP+xJ$t}fdz4(sXXdPe7 z=#_!akJSB^;9f=tr)Z?a=}aXxju8&_a!x{Ek429mYy0e5*oe4(HKDHrQZys!e8arj zWb5j7l=c&~`s5oEBcIB*4OR{wG@sj(F>sSQD#dDmBXtY2>?4uZ^@@sNuS|~8PTVvl)L~*VrsIJMt1x(ynZn)GSg;KBQ#}VhN`&{CsLf0yux)^ zqhAc`yn=3ToI~C7>#$zQ%e+yMmwZIbIH%%@t&c)~$S9)XQw1#xesnK0!b^4!th97j z6r`v7+tyE7EBYSGd%rd}biyoJfD;a3-?m;J zeKjNVlQ)gJF)sTmWf-p-N~;J7D!6oduVg2sqrr?Ez5Fw3NBS0}3VuK1pAm6?uR`mG zco|2_W-wjA(@5@q?f2PuADQx5PKA@BvOW5cFRv%l2dpT#sNV@D>9L$puq8s|>9vFXbAO s{(DmiWMKjV>#+TAKKg@5|J5zf-}t|1$-;#F$lo#Ok3IgR$g#ieKj_7uJ^%m! literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.12-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..90a5d467b3fa40d73a3cab868936a6dd9c5d53a7 GIT binary patch literal 2351 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 JDqQ+^{Rhapv>pHe literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.3-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..58115cce2faa18c972bbeeedd64613df9ed3bda3 GIT binary patch literal 2362 zcmbW(XCM@e0|xLL_8!^eE@y>1#gWK}bUNgWDDonk%bjs2E6%)Hma2G5V5s1S&x!=d*0)m`e0$jbkiS7uWK%5^t z6EnaO0Ehwrbjf5-^&@rvq9JO%4tH*+pSN6#bX<~^xSqmW&X1acP5#E9qS}LGTlVX% z=w#aOPe0GlMAvKet}Te#-L5`k;-B*V=ge9P_3($YCVao+lc82&+>Nq15((JHOUyXH z$6#Ed-(BgBo7Rta=O0oBK}WdK+y;o{^TDeWEi0?N$ZEOa7%}G8U(93XkslSp6R+hj zDnz38&HBMgN=BHJ`S#K**6p6JuALj%VMGj<_}pEE@y;|(<(vIh?7~ook>We82I)B) zv28#v8qO&eb&)3`)AQ~jsHfuu_(EI#j?68MxZ0xJ)>x*O{lg}SV-Fr?_o@qXc|TZN z`-Rwkaa&STpw0P$!%aOJ?UWwoT;_gn`neSUC!x^}llSe8K8L$Qb z7gJ`dR|ouW(d?)2OT2nvy{VYXqjwof>OG_M$i=g1qc^@4My!r<%_>;7y=py^@s^PO zMC$!nk8$Poc00+}BgP~iF^byhVhHvXa%C+r$LtD!8VI%`!B;IMAbq|1x}Z_c5S|}( zsEW{*{(_rZafN%C6$V62l_=6F z=E^80e`^{NyGO$9&;udKGViD~tVGb07Fp>Te z^BOI{Jobw7+ocPu#=9yCW8kFIS{U$ToP5fP@YPkLs zkIUcqWTS6M^ko} zf2@4pL%!BxPhDx$Iu9a1r)T>&84weoGJkc1js~9(ys3?DCMV*ys=9eCLT2vlE)#+f z%yvZIB2!MJ7{M%m@8;uj@=sl640V*66^w5U$H#&NG_WDvx{jkZz(r&IT^-=LBosyJ z(YMCv;=p?wba8G2!k#h&X$xZ0B79#Shk z(TXk=u3-F1wPI3Fyw4KhvsEhTSgRRMkU0t-wq=@Ro)>tz5#OcglO0AQn(QEQx~Q)g z11spsHhG(bn6tz+`}JioK1TPV$wAsLVdUMfW8xl)riUvIF3}COrCr*3lsw(l_;p?t#)pWeGe3Dy7kGbsH;e9PE1LEE zFk(tn8PGn085DH%oUHxI9Aw4T_f6x93?eSoYcC3k?t!6>2?rXv$C;vWeMSuPoH7AU zHMD?WP9Q@wU+$|1yh~8iZU}(Y8h4Zp^C^t?pKgkUg_Nb*ALfWOh(#gm z(IR~|mx-YvSyVCIMz&5-l9e@~wLGF_?Axo{x?~}<%^~sTd3NYg<ON3ZD~>o?ohiQsBn{u(!)pCMjflaU@qs2qzf_*=rcQR0*UJK7U30wmLg&hehw)P zM5-6Tm>HN#?dFj*<6jHMI5;uRwe+O7%`{YCh(x2vd=vLGXa}L>b)U89q)vGFIS2xE ziA%J=AdP!{LKU&uKyRstN}evhssZOM#ceO?%=Q_##XrS9or=VxsZ@f2k2QQyWGBMc zb*scE;`sM3!g_-VER+MeDPRarcXo zZ$_G>oD@5`Jf(dtIaWRFu^`H@H;jQmyGqt-ji(99opJ)7JQf~+9B9*=RRizs8H3B< zdrb#b#AdSO{m^*4xHB0VbSfbM`w=jS2XxOqKuwC z!!x*FoeCSTi`uPid_L}aN?-K6E8MT`PP7~6xY_W^85VQVPb=@=$&$sem_rs<7h5Bq}H6H z9A?<&hCg8`DLc->=3z{MAbs%vCd?nj{5Mg+f9L-K4aSt2<=->#PhJ1)=RZOM0R90X Ca$T4J literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.4-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..564ef12d2bcd4cafeaa610f5943b3516e20c0985 GIT binary patch literal 2476 zcmbW3S3DaE1I1&6Dy^a}T8gxGtr~UP+AB6STP2MViIE_&QW34v}{P)J#*x3?S`!_!ysp1 z*0C?a5*pc{{ULfzGsc~3Oo>tC6Gw&{HL!9i==*E6hYt_&WU+CA0I+($k)JhQOyxv~ zmq~UK$pWnVTodYjZfCD*oMW4uUx&-oE6!HDIeqE9dFKZE2J_7F9GBxV31^pUYJ{xF z%_VQD2waFVuRij9U#rWBj5neg6{lmhIj;X{flU!7U&M}>i13S2I`x|ebn z9($v5jlI3|ug4KuQi5DEs9Jxo=vZWd)J+OAWb^d!m(|yJjPC&#nx8knTUUwY5`shG%cJ>v; zv4+DRjp%Ko;*Rz_vp2=(=w(7{>Flx+j%#6?v@1^xNN+e)llfNC6S=r=EDNM-42S2t zy+qOtb!RO^i*>hV<^!kXH|B9xf`5VH?H~u8-X1Kv60e#!L0r;h(6V6Nx_#Fu|Ap0~ z^xZ-|6~5A$+cFi~3G8oit#*413fVtE`%9nKrZxXTG=~`VxF3vownUB3pg%WrhuPdY z5RN2+!iU;l-Qt7k;3P(5?7c#uvK3x-JllCn?Gn2vi|8Wl#{&ahaZ4h?8S`J2&%#!$ zYG8h;ojA*9)>x{ZCC!?l(i_{(6m7#Kn`mQwl-m^3iq;17_pCBOz5ieVWvH0+lLpO)oIRVUemRjUg_pfD)Tgj-U|-~cL`T?pq z988qFo1U_x6&Htx=|Q9+klNs-_n>W&$iQF)%uk-6yc`2`x1iHIZe#Pc%R({qvmM~$ zWwEiW!z|x~7WQ0|y^g1iCM$U_7%u){ipT!V1&W|&*1206I+aeK?#E7{@G8mNJ+`3m zIsY9hrc|`q1>~ArQsZ#Atf)&t?mAR8eErkvcohh|e*rlaC~&eQ8Q)o)N+=A2e!D|K zbN7W@5vXqv5e%)v6vYZbGbgJM|mYg~p%??2J_# zVc#RJ%u^L%X|LVQPJ|z~e3ZzWvc%W7H`c?X@ybKcDse@vn3^Y~nNB}sK$M#?D!^W? zw0ugltBACdZzMSmHbdYF8%*ywsTjr{G1PL5Pq)lFCFKX1xtTYW{3vnA@{6$m73`mX zWR)>l@JflWW7l2PUvRSIi)9n5B@o{;Ix$)VAr zS3#A(bC*}xiiTEMLJHWY^Rp}UIa1t?OgFj+lAX28-K3=d^8R{`1RR&@V zP|@n#iRHE&uRtzHpS(C~Wq|R%I1l#kVU|V~FbPYT@qs&pFYgACsRJzKvdP=h@r1Ok zLh#44;7$d#Ec?VgQ&^ySRy&QyF0ddew{ywp~@i~TM$l}zdXZs9&Vx|V~HZPboww(J;> zn=M@T&Uz5yxh^>z{2-PVxn0?(ys&OT!}hYLb$gRsLJfv22w2aN)-?N=HMZg*jaN?+ zLRbHuGffvS`O=d`>c{D`5A;p4Ajr#Sf0tIaq@fD-7&)87&PrO-5m5c5uYdoI&yw$)71~cNi#zlCaWWHGNj<{|9SxNIq>e*Up*41C z2dYYSu03iV;j zJ;(Ted)1^Z$4~l);2Zy?nn?y%^hKYcaK=_g39NVSs2$3{0v!NAz#d&E5%>|kn&M+F za>P0lZ>LJWLlVLDqXT2z1W_8)Uh-iw!SpunFHvUY#7vElCb2YriueT|j$2jc8)>a? z)Zel~fR_v{bkOVcY}gH-f$g%hh0Nku=Q;gB+8~i;DPaTeV6%xf*c!&K*tpQIpL4L0 z9!u!c9zGoh7Nf_!h>BHr5#{-}8>@aE%y6G+@VsSsAm4E+0V+v+6u0D}~$Ho$Abj`h#^z@Dt;UJL~EXAPM<6bK=gmV)$l#B*JaFo2>!0 zs&VhUX|$mkDlUUx~_s6urKur zXTZ!#qlb{0#LHCFR=HV6E z0^rWzkIbT1KXJ<7!PTy|${ju%GKbSyCXs$By|SVAN##-_Z1noBpeChTrjjA(W*FkmdK7 N;g?;1r4rlk_8*iwu$TY< literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.4-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..cfd09d94a1ee539a8205f90d2b016f24b25f6182 GIT binary patch literal 2368 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 IIsaY%0YUJfqW}N^ literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.5-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..fdd2eedb4705f583bcc429dff2c859556560807e GIT binary patch literal 2364 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 IG!g*(2O64WumAu6 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.6-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..5823e4ef34f58ab92dba42244404c3517f580fc2 GIT binary patch literal 2479 zcmbW3X*?5*1IIVl^Gwb{BZM3cTgfrGd6+BLl;u8V+H!4(&@iH*5ax`b+~&w#q>yqK zqMSL>gOO`kuK)A=-~ZqIf4>*s&+ofth3n zGJR{7G`!iqDliP*XwX3{fl>B#0w#py=GEEto}4c9n%3X#)CvV>03J_B-*f*l4T~6)8u1mfVk@EOM5q6aFQS`jsSN=l&jn{Q7usSI5DdcKxJ|p5xdj zR|N{=-jmwsAOHfb3o4Aic~W!d@)PZ*2HZK@wwxB3?VCfUO<~?&I`t9kAlT;NXBM`J zYC%D9g?ROHyvogZ4`=t1@$7!=5}CC}+RaaBm`?IV7_b@!=g+}ltJkz%XEytCm?3|f zji?psIWulYQMrC?m~A;6@q$y803`9HbuByLr~t9V03zE-JYei;mH#bCN@Cr^`Ke09 zuEV;e^oA=6N=^gjnhTpR7z6pcKfGLuAFB9o*Rk2=zxkyYY!~jc#Xn*MCfoW`@N$TC z9wm*|pBb+MLu?)n&NKMVHvdt(lCHuuO0TD@^b%M<?O@-=X^N6q`Azo*v-Nsp7GVmRHXmjx6JN%)>(*+E8ruvc|ZO zcMoY%($R{M8NGFzpiFqRu+`1pv!5b%jz!O_yU2?kz10E{O;;>g#%jt`Cf6I2s^Dr) zu8`7Q7UMU3GJLFDR~jo|XbHVcS>Z#P;ta=*+YhM|8&k>qN_HghVn5?trkZpxUJH)W z^wGq>zuHkNrs2~{%G%dDH6M{{?379?7vQ>du|zG!sO4FXs=-oyyR9y9%&n`#BXzPH z5BRvbEs9Z=TRALV$B=sTZtX_A?mFwg{TFS{Q6DnYb9CC@aS7mYuYB%InElSH5-v(y zY}8HgQ`+B#b6WKpx3*=NxF{DBm#*rTm{{2y%~z|H-`kBDVur(-hy{9X+!IT#w-p@5 zl;ZD|tSk7)+A-n^H|5&Sqgl`7xymVUY+-AYoOD&zFY%sDJz_JZP0ETaFQk?9RcfL; zFXnmHohwq-hr#@uK{811aWdn^#j<@XE^Qhb0}xr9|I0kGeiW+8mT^3Bq>wQ|SqtBu z0a+CCQqF$D?yCs>lKZG`IFk5!)OGD>(Xot4E$*S~O z%vYkMQBPvY4yTE%HmdOD{^YzVow|y=y@d+eE3LmL6~QaM!Scz>i5GqH&DUVn-Mi#= zL54_}F+&i1Ejb}ICnau1>GCJw)vIo$9X-xK-vP_=2Z9D(fq_}8TNe_VV=ua{{VrHuu;G13fewglm5M>*GlYd^LjBmy(ef>F+G9dhlEz@ z^@d1Ko(>?}EhZz{CF3@`;oj~|x>k^uc6nR-s*}s^-KO)lqJA^nZ)~Z|BpwM9NZaLz zn``i18+=b0r6e<~lD}`O!+s3nu_#yLNp)E?%$R6hR z3$Hj0=_&#GX7POVkA}vw7<5&`#{>^bIpb6uAjLvxW(~p4#f3ldBlx43iol6^lj|+5 zr%gU^id@@5Y7*>w+~EyG?1r?E^Y=5{3Pg~ct{%ueEfA=7=TR4K(mBz%c6|;5`aC+! zSjX&(YiCW-`7X#6%NEo&^)6V4o^XD9+M#G=)OI`52=>*Bn)9>1n`K5-a674-NW9R* zy;Z|F)}MYXWcGUk_I)#Ax&05vBNYFthGyZr%Q0|`qHASb*+CF?lGaAiFT7d*xlqR& zVbQj_1Truxq$RvnnGQqE=>gSA(q(X^bmUu!T{y>$lY&Y02i8UJJ%4zU#+eT+pU}Im zrzup0Hxy}H3&o6`qrw5w$b=9@y zay}mDN~Y_B_QD=n84g-5*OuRkp5X`ImM+{SysSxyuNg0R;WT=1=vj8&#zVP62Rfab znA_=*S8d~O&m0ZTY*Ar0BROU_+@?P2`93dwHEH1r(v~~EOlW@pizA@w1yIu>_;(h} zR$<;sRqzJ-`4Er~ToZjdY1laPR<+bVUzmTlQ3_!fqcx(bDLj9XRx*UfB|0&Y&?W(W zzp`Eyx%-1%J7PV)D+sKd7 zV3&IyL;!&k`aEUi=)3)WTO9pG&_!l^0XMnY)*13B{Y!2E`N_wd zUCVxlCiopM68on-F++R!*kkyqR(2|Z8Tq$!_mVHNpzHbrq{k&zg2HWEj75 zEjIs(VfJl-!+p|Sai{uk7TeYiXYK}3p_~bF2yCk>eCid-^#(yAI!I;~d%725L};1f z!bP%_<&E>EG?CIv78&xVj#cmPUbSnk^Ek4oebL{$J?>3VejM%|q$D{i1q(^S?n7!Z zGlQ9J^k)knQKf4MMc#MOG~bg7S|~9-@{~$BIIuPcvgoq@Z*TfXo&K9B;J^64EXvxP Ro#Wp#@Smdpp&IDl^&ibAsQ>@~ literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.6-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..58d53ecd83491450d2b39674e7c84f63499bcf7e GIT binary patch literal 2378 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 J2`$H57+6)-Fx9u9`|n0QL(< z|yA5M|E>DZT*}EU*(jUBOeX7{}jIax)s)*Kle8AxxKv zQFP~kuh=g7X_)+^3KJOD$&^Q zsn1(aHty!u+&LS^m^gCza&MJO&8ld^g0J)w&9;gbiP16gaLZm%Kkb~`OSawp*7Q$w z<=1&~yX6UkEQ)#?Z+7}b2=SG8*S?f$%HJ-9IV{A)G|dNa{n~c|Z&EWCYwUhTC!@D7 z>SrnXuIN^`6%F7x?b7$fHyH8YTQm&qRwuh6m7e#j8DW|%bLUvHJJ$kzI@-?3YK-oSX|< zLh1-*uc<%ppEm<-BG-D!u`qxJEv#rR5<0n?kq|16(aYs`aLdYaU@t^Q>76kcOZ=o7 zDsD*O>Q&5^cXKd`eE7YT!=rPBjAElh$c52kpBnqqvz2ZG+ymJGxPH_93m>V0E1Fpv z#zpJvHe%R($ikEpQlDEHih7>-W!REoK@^u9OxwONV=`l=%yD}sIx&KQ7c9IEYIw+J z3^(9%ohmng$HD3OLONi4kE9ohn(R?O^!B1s?O?*Gz;HY9RDoXVo>V!GYDf!L8{33S zV*=W!B-%X8`ih~2c9<-RvhvTCLlev)*HkwOGkKfYe!BVa((HZP74O0G_%6NigA}Ye z)54~}s9HpxQTfK$nThq+W4c0@&Rtqt`pjRywpiA4bg)GwXP>n!?VnL>Yj{VAWQ~5D zQCcfThpxdoNQ#cFvwQ2hdzhYyj`@H$jje^qv-xxn#9eWTyLT+wL6Q5r7Tns*7+ z!oI+!Ex2FVdrdyPPg-Ls0AghUvOHE;w(G0^`yaV+0gkISl<J8-&| z?_2SZ{6Es z$SF910eZ^_&U{rJlqIy25Rijgd?socyqDivr=BzTSg*2J_s_wmu|}gqt&cn}OcK8l zVfGNMyccticY>2TYW#>r0z02gw_CgVf<9~)?~m`hF|q^aKC_YIM+PhAk!lLj^S+ZI zKI{I!kn@MLT)f9>w9S$DHPs1TO^FAp^FsZ?lVfk&%7kpBtpb-^VK=)M~l_;zl0TO1AiG$t4rhG#6ZpLty5DNQ~?WDZ3J-?zrOk+gXbN{X^;QhbN_L>K7*| zSFV+{W{rwdEPD;Zza>3XrC+xI3@c$dOzgC|rg4O=>T8$FC8oCv1((s?TPCYlqPxL1 z@VjND!b*oOwmR8swhQwHSVd1tjSe;tdu+yPPHfWXR*S|n9sfLy(pPIZrDFYGw~Fze zlA58~G5wFxP{y=*C~`+QN^>0vkX{-kp+k ze#=_ADtK?M?gK}Ps1hppaD?d<44U#;r59-1^35mZLdM2xdI-G`GE9F# zG77_Zk(r%Vvsq+%xq{>`^*R}OLel)j1Jb}7-~h%wMsTU7{E@?-Gkh`?91k$SAl=0H z^9@+FwH#;A79tq%D?N& zLBO$}5Wo5xV zWO=#Wf1JuPmPAD9VT+xT2OMC4Kcx<=x3|T;Kdiop4Qm z=8ZY``F>Nq-;jo+*NM#e+~`NWx=Hr6-QC-fhSX8$81>om*);50*omRKxKv*We2&Sx zj(9P`d$sITG5?(<6b(2Za|d1vRyJ@p<>^c+0*zP6n7cNQrX~I877YFA##`dO4x9?z zu)f5nP(o*u6gZ=D(Ae)>;J`8{09g&LYPJ$g9qc`R?-!F|;>wh7wY%t?xJ7nkmN4M) z^4yelxeug6vA5c#-kRcwX)jrRF5b1Y|!Ur_LP-HiX=zVYnG3uALKfV|j+V?uY zy*d)qe@WD1jHj9dAD)#UYE{MU#|!!Q Q4E$a1-`oG&N&vur06Sh_3jhEB literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.8-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..d98e43e5a7b48120351e9efd73bdbb3b0f816c0f GIT binary patch literal 2483 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.8-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..07619adef0add25ac0e5a653e4ec3e4b5e808a1b GIT binary patch literal 2379 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 W$J$(I-@jwNKkxCUBY(&Q0RI8yY-#ZT literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.9-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..3800e9371b1171bbbfbce3201781938696229904 GIT binary patch literal 2452 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.6.9-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..f0fece26beeb4c14e886f93c80129c6fbb57eb40 GIT binary patch literal 2347 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.7.0-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..ed1283618b896469c7044f76c75d4ec8dff94209 GIT binary patch literal 2287 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.7.1-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..1773fb32de58bd61d0c72d2ab08a56f6752a0ce2 GIT binary patch literal 2402 zcmbW(X*?4S0|)RKIdaZ@<(#CLW3DtwbB<>2a)dU=T*H|8N6tASBWJmiJ|STUQ*%e6 zNX=dDTaKC>5l{c;{qyGe{a*ZD{oa337R)RL03d(|kdHZX;K%`U=CT6-OE3UH3jhFM zy;Q=np*||1o*{uAArUHQTp$J;ip2%0c=-E6@Hl@rPht=*B-G6#1nq+*ctU*fxIhk; zGXPfrAO--?PfqrR9z%mmKMyut;V$e6#45B)ksjEHUsbH-e4{Nu3pNIpzB){I;4tq% zqz~=1t_u!{ZoRr{vMB0!t4`1?nB2TRy-6NCT65P{Ie6Q8UH1tISw0&Z%QV1C$TrbgnGSM?&RX`1g8U8=L*;I)yLsVj>kUZ<2D5$Qw*}qj>Tg zQ~J#1Us54z)m|r=TyhS;q!rSur;7@(d)+=>q5)>km4XXiBmIlf9VPI*_Y$J(!mraB zyC=6E+J3Z1+HOX;%T;;xRb4AjxXB@{;~&N0S5z@C!kfPhI-GTK3Qjm^IU*<2%kgNb zNB&f4gqT{LKMI0wrRR%*nJ7a3)_bx-OMMlypZB#Nt~b`8`&Y@zKeqbS;VcYEf=)NJA=YZO>B z)mH@csL>>EmI4RXRD~%&TbmG48VW|?aEbHkQPpI-55^$Pj60>V-7rG#4XL)fcL!JOP6@%?Yq^N1~FlH;jEeP2LqeK}Tdn zb-c;QH!a_L=U&r=;7}j)P!&-3C#0yjn_0n5oW8daHgR&%Ok(9vw;rf_&$>J#f{4Dw z_q(6}*t34!kV`hUVoij%NtS;sQPB6H=}`Z{sQ5RIZ!~jY^+H@8QbyNusu>d2MZ@+H zZap_QURWFBrQ)CnIn~c6U6s7@p{n&M2V5Z2xu>snnogtxOGuX2>>NLZw?tT*9F<5b zx(z?I=ofI)`h#-BwyaFvxdAOb>QB!V6hRhn z3sUHE-SWchuiuaAN!doDQ$l+BLPvKmpqpToL_`}UxbU-DoM9&NAv7)Pizw3QyIo1{ zysh&4@e~G;`Yeisl(}0A(#{`hMIj>}*MMm>6X)T>jWJ1MsSqB1SE7Uc&+GUR_A*(j z64)pNejO@y!>xTX*v#xw{~#??krk&6U@ zw?FIWiKd!?@-z3!F8|~A$|zeBhp6gki6I$y2>Xir7F}{y$rXzJ`phz3(R{!B!}-K& z@wt}|lIIX|Ux$>}xmXz*U$jTxj9M-YytkjqNp+q69gX0d2MtlXtkTQ)Dpus{Z$03T z%b@Ja?=M$ywcnMLvF03%jly`{Od%|Co~{UqU!wC3Ko>gLABWqqcF8EOeh6XqjwZ=c zvxneI4XB*tv4XSZ^_F$T6v7bELCVsMP6uq8v9}9~X4Gs_HHz=gu4?r zXBO>K?UNtu>xa`kp$s*^F2PSggHC(Y(Z4%qvTPG3*sXb}+l|VMb%zKGu-kD*PoQ z9ShcE8IP_6scK&)VSn5qge2~sA57~reWGZq6P|gCr{LSc3)l9ZCHOYvcudT=a{~0- zSB?}4<}Dz*F#l8}onKZMhF%eFTmm_tR5@_Y{M5%w|&lX1*lbSkL`N-AEoDUvF*TigPoFpO|0veRaV_J zu$3BxkeaItg$9*cm}}M_v!D*cBW$d?=vi7f7#F~|U|T4>Y@eNrZ-9%Xi!`HC>BZ)E zui@JPF=>1s>VE_!Bs)Ao_su=lqX; zCFK;@=S?D}wz8O=I;kp97^T>Nu@tt%XJ+_wcy@lA88ZsIdMfY$yHspaGOw@MJU6FP9q;cpRacP;>2uKSAy9B+3P@01(v8w$6H?zRW z3)%b7%U7ngAUS>Fm$c`2ftvDai!-g+x;@RQaThq};!ci8%t#F-D&@KBskU0$-I^;l z#Za&7&+}~lGBV=`ZR^t+K#o!2S!7xJJTHMRr z$o2BdDBJJ?ZeoR2sncb|xNQ)cZZT&ov4ZLHr*LeJ)U0b%hw0=CnK!ML_${?Z36M|! s3~u+LESP`>%>SD@f3@@9#4!Ck{}+5v7H3%hJv03+`tPp&l@tK*AJg1(Qvd(} literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.7.1-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..826eb943c6de36dc8497a07511b2ea907ed46e78 GIT binary patch literal 2289 zcmbW(c{~%09|!O`ADdgsm5Kf47?U-I4wCy!^+PDLycxqCdn|9}7dzMt>w_4(`b|J&M}gHsp44iErjWA^R$EUc8FJOBVm0{}RF z0L~Lm#NG9V-^B*tJp#z^TLe4?cNa&%!##X`RRamWZdj5ZA>gi?N5Cy_To6{(Cy;;# za&iG~000pHz@>x)FXREzzi4Q%`2zo=E<6s}4vtN>kI>uHS?w)wfLg8RQ97TTJ$wAu#81tRpz*4y`}SKIXPvFx7hnu^5 zd^Uq9ph~h{Aa}RD%CE6)fAZM$Wme*BavF~}dHmZClK17seS0}u6vCOQ*yT4)bRpQ$^cq^$`t5m4zzWKQ1zkr&?+&AW`o zHg1KQgZ_*Q6~TL2VM-0f$n+<9V%;3B7tQViq6n1w4U=3I`BPj=EM!nT z=aN((aB9epEbb~Oe9w7sQ2qQFezo_$^`-a@f_qT~&+V9By3LU}vF_sy(mKf#?gwuq zK#>AAF9T82YE6D8V87_yrhXg*y^lXu9R(_zx;cKa6H(VkxYyATxtJ?`m8Es)m|W1F zSX%xpiz{MjAN$cqM#unaT6|&^EHjWX`r~?m5(*3gvTr{e>05VBJhWYVaWBHP*pB1^vpc1Yw5G1QZH23F#0Y&jDj(mh64`WLqu) zAs-EW{P=|_uRdRi=~gzdIS>nv>_6%*=if7&JX8ZWNq&`E{2^Z>SG1Ek`8i>t)U|oL;N_Rk z8DwlvoBzp{-QC@I|8!ju)JfU1CW2(Pzv?o{dH5X;fEap07)}P589B7n>AV0Fj6NR7 z)}}gj=bed*R#l)$0SrQ!{H=VPCB5IFhuQTbAy*V7!<&~sqmz6@F!XQr33$_;Np+Jq zmoE0*sX3#^&fp`H{M}ITT&tj2%U_#bE^%y-6ab>5I&T_1GPTSLfd|OLSnZPVY~vnHk#AouPkInS%^yGdz`<2nB8^e*1DwAQ z0F~LuqBBTBtrlgqti|oJ+l%+AV-;DZVbae#zX;w8k*T|?^#75Z z$%OW!5X7r4)dLH&$Y|#@z4c9$pk_jV08kJTRm(YI9kQ zu!3+<&L}0)vp4gbKhfjj4gA1(?Oax|3tFPsJ&w;(VNPxR?No&0F1G=6K_!Xar@AQX zxv6$aT1{we$L|8BvR)A58eRx_CTrP8fruMoU6*en*4k@O=}I`ucm5#otGbIVCGe8a z3k*4Lhzy<<40sh51?%d6G(ho$XtjqYM`nh(*ie=VUpD4lJJ?c2h|LJ5#LGiY#15li5_KPPjy;c`b4|m{(JH;lMbIlE?bn z)a%2Vp(7^Mth%*18@n#Y j|CYxwKK^?VZ2#8(Vjgv^guKnRT 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.7.3-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..fd798496b33ab1edae7e81e3bac7b6fe0fc4dea2 GIT binary patch literal 2285 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.7.4-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..40459850211a720715c6e99b8b4d5a6e8aed8810 GIT binary patch literal 2283 zcmbW3XE+;*0)`_twYAhJPB|QenpISaTH%t$h}tVg?bvFSAZBU>H4{}*qo`7CVwGB@ zMvQBZW3Ng}rPl4a|L>psec$uEzrO!3)R>kI3;+Vy0fla7Rtp5jWDzC+AY26i_&tD^ zJ1ER6*b@|tK>9f&BS5bHer{gDUjBX{XCEKAAb%f6M0kKdGT6}>>FVhfijaE}(z#L~ZhWLggRQvN&r71?R$>NBKuhus>qk`{VxS%n*G$c{Vm9i8 zWPbfd+Ts1mf6%O@|2IGUaU-u`Af|O^aUU~sw(X<}I_)9psFf$0RxLk!Ml-|_nnw*t zfI7!FX!j*9fRhkh<4QnL^0ged;ZVX#*j|$w4E8g&QDP$DCLclgEk9$5gvu}B>$IS0 zKL+~xsoE%?D=WAvB;PWlv>v75%ImPPO6*d1Ji4(tOJPi2aGPqI>rPbn9p^R-Quy;W zwOa~K-7##a|vt4N6sX1sX*k;*+!F|x|%@AD^^a*QCl7Q~W;dpk{}i8Lc$JI<=eM#(m{i$8zO zwJzC?NXpw>65$u2d;?9g>_sJWpEmW65hZMOFeRAXk5>K^k?2bZlbQ1X)@ApDFZN=} zm88>($1nr#1ZNm6T+=t9;GhU{(G| zwOZewKpIXJt17odSK2mIn#u`rfP`9_hP@dI@4t$Kg(P^UOi6#ByPI9#BRqq(*1F%| zvFEfI;M=1tC#E8Lu07i5f+R$hj35W%J{L)Cn6sXnPAt7ESQOqR$)axD=hhzxdFpY? zkIBQo{_uh531!3PaY_ik_0t?GcJF(|7qdAMO3&0nr1X$ty&HtqeAw5+21~b_eWa*V z!6g071}BqpYjY?)&wl6A%sFRnd10hzz^)nC2P1LoiF=3+K<-Y0_!}_?#pnUcBO2j6 zYq)4^34X=Wx5~SeFJ>BjBx2 zR^dVBF%(wlPmY+%CLsmSR=)v%$u6@6WLSOfgsmumy@`pf24k(Z}i zV=H^-wdcw~l*-cR_e*=MyYv``kakUz(P^`_;hjUGe~zYsiPfOd!0a&Y*MdCG$^^4% zKyK1he|IS}BtTWRYd!mUOU)4JT@)Wp^MGbm^Ci4#dMS`a*{9I%$fZJ$GxKVdmsH0E z{mHB@*#AhAE(PC7_-wRWtNlUw1&*oLOcqoV-J2dK)HHG1sqY8*ke!M+W`4I~bHW&z z2-bgxZ@YImhT4A>lkU>B%@x}(-v4ksFJtM_E>+$_vBh4J+h_i-!Lut?7yC_VRF~Q! zHz%jDav`#21VSvrDkm8fR|ZqFKutW9dcoI6T(Z87PA)MeS0yfhjtHqt(-e(%kkSP0 zMZN@HR8O{))oX~sIOjZYzh3(z&FiC+XwW>ZkmQc2pPO9L0P27lRi-e{wPcMvC)z%O49gxybos&OtJh`eW)Y^vM6q6Aj-iVV+(JBrz^;MX#9aWOj@AlNn zv)_I2^D%o&Po`_3ofj>L{sNPF<|}9q(U19lDghOANq^K6MvvSq{`%<6ju{4jBH1uh{$LZafgM!sS0~Yf!jL~*A$Q|g4O3KK8 z8;ExJATVluGa7xVbCAryog!jDSeR4p-I)$?aUmAWxu0}6$xWA0KIYc1%<)zylyTTx zWKJWL2AB@_V7cp-7pd!~^_8IZKG1=#8e01{zN!|hl1kLlGSjKxFeV+&xxE$$9@}41 z171HVy8v_V%?=*iO{T~Wkj#iK;p&!?&MyqStEmP#Wh+(hfmPrgm2=zq#+Nbar z;sqY)k>SM9nU|2K?*V4+>whm_S^f0|t2PO)hTKiVTS$_-HbOFjGN43x}@p#pGl$98;odTcxRtkQL1b?rc8?C|ao+S7BO zd-fUc$o$Q@)b*sSZTeqF92?f6uJBIe~jHu|t2qno2HaPaZs21zm5@eGD3+2|fWBK;W% zc@?!rpyVMIJx<034fT!#(R7<{r*58i;sb84$sFC_x;lm+I-$liKrrq9c8=fL@!!PJ a{Dc3?K%mC-4F8;Ie%JLkk-wD&0Qe8`$5+7s literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.7.5-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..76e61464c8dd2b67b2cf5c32eeee6f2a7b8d19d5 GIT binary patch literal 2397 zcmbW(X&@7f0|xN9Vx~rvqe6~QhSx0;6Jv8VM~;xqHP?(eQjX*(P$(2qxyc07k$CK!($iWy@EW_+&N!U|s_NPyzq| z7#Bz&2JZ&JJNtS&`aXuBvEEJ?JO=9xarE?*@xyvLI0yM)een*CzGyd0fU}IdAJ!Yl z%mT0j0Kx%)J1<_iDjX}|@`wBD)X!&id1J&|1*2Xe1vDipL5<4XO*mb~{Mv&AOP~P- zo-pvMd4*?yZ@pGiZ;tPQHIYXjm-uOAYAvz>8?sZS6we3E6o z^Mx{(*VD5nIDzjIdS?K&eK6SW#VdT#l2q?p3TApZ3mFNCu1mK*rM4}d1oo*+a_dXn z%dF>RIT#dkI*x*Hk6a#X+}}3Jp5LO^DX#H?t~v*t1BX}ox(?fDSm^AG2J|sYT}<5W&KL4DeJ9U4w8tM^SSC1W_;o}~_>HV!g z7*|xswv;P*9dIigjv_z&8R8L{xMpz6Yk`-h%GB4Lcdl|jE&u{+{YTfFV*wvi<>+h* zxa!cVlb~EXew|YA26ie}h3oDyGJn-Bmx)64f#(JUwe3RgN}M z!PwBV=q}RI*e5IKl!LNXbwP#9Hzt1wyS%t{-lxy4(eAz&#;AXUmp6x6 zuRv7|L6DbeVVwMroCatKM%A)94W?{`Bi@_gu(wgt;CIpaKJ`uyLb zV~5d}6ZEvA1}gr7*Lv@VKJ@ESj3FXxRX_aV`J!x!N*=?N^3zm*hDQcr0r9 z6IYd;RwE^GJCW~3ioKdf-QnA=RGmO2&}h>ji7^R>#m{NslCY9@b}&tF~NhPL;83xgi# z%h)iPQ5}YG(G{v99MEAMLZ@`z&U)f1^jmSfr0y=$K{4gtFgI%zXgR0BfmnF8SFlA% z805iawp;!}-$afz-bF0EQZ{3)*;1x@@Pp`J^|8h4qCWn&TQ=P9jD%zvs{{rJIYK;k z*!}!h8ivGL+6qAI)FgKd_yq>;URE=!c&bU(=lvC=osg)Kf52 zMxjnbYcWm4(SPyv>ugmBgRmb<<>!PCkr~UIHTFjJq9JmBMTrPzG^l(#Bj3>rop~sa z6o_R*y%yB`{Ug{%tv~HG>&$Hc1+mV=>`u;QkE4}=;<#CZBz#huDi6q#LaBS-_hUMB zHMjh>8o<*0{#U-vT@bQ5|NJ7O2%ls}JL350_6o|3SVRb$pPWvaCpSvc#7o_fQ%S@a zhxGV7hXMQH`+Nuj@RG%EE3*JyHq+K3o@2O?SJ7+OFTwVr>6)70akQI81ghY;AFi40 zv)7BX^+cJ+)iD?7pn~>ShOD8lNGbUBYqQ!czn2nT&T_Qz++B~O-b}JxzBkxG@7b2# zu9S-48-1x!7uqB)Z

4F@OzW z=`0$Aa`Qxr2D$m8ME#MzXb0b5Q6~)A+0EY#gBEr0^c3^Mcp{KkZ;Y=$!ok-G8NP{TL6dv0HuTkSE*AeAN=@mqXJW5FWQZ_gDW=Gh~qy0D~48Cwl<#!l=z0@ zG&8zKomy!l+wDI=BaqF8`x?s-b4wCP(I_ufLSJL9qsv|IP_@r#3Z|2d0^??i`!|qZ|xx#dzRirbt<1I{{{tPnj;Fp$ZIuB zrzS4*QFZpxfR{L~R~`G>gZ4C?I8w2O9~I8TEN-&Qs7|?ykeQ&0HGyCg@d*yRVnB<9 zX&pER6^c~5&QVhP0^;W#9UoVnWTI5DD0&tugs{t_47YNK;_)9$HtIE(ff48BQt?QE zZq*(+8D>&NknLtf7ef`$b~QGI@;%57M3`f+R<075KhdNq)1_*v&!QpgVkM<@Dl|15 zQ35?E5ot2S#POA0?ebdcHmL{55ng z7lMTP5eI}0gY{+_Q;Z!5GZ2$53R4%UeHm^QlMdCU!uqPFba_;q3YGK9ODZwdDNP_Or%|~5x&XVsb|x*Snj?{E6EJhL5jxV zsrV;!HFDo*HS`P9JOr$xaP%SUDz!=cNzl`+i|x{|@WTU`w5+HVzl7YcHFcc~zEaJ( zbN&9yz3uYFBc@!j=IWJkCu~OeJ4Tvf45!5kuyn!X{+E;apat;6a@T<=S7D>5xBA}w z=B(zZiiZe>lOX{&3&p`3w2U!SZ9@8q#YOZ*)N4}{Sctw%T8w&4I}VOyNN3s|MG53x~QDy=cqdX$`!LlasiV?NwnldWXir4`KR<0G)B$RIPp5mQ)(T9 zdzLiQxjW+o5tvEI)gWR?eVZ>;Rz?>W8 z@sAj8giJWPZ|oN?-fB#Z>Qhv4%#SWZabKe9XC}tF5di||bV5`3{CNA-?bGCr$ z2Eul0yaX5ds+mM(uy5}xzFoAys2q(<8Lf(%y|wWxS`M$*@@wiITiIuU6~zVJWJBh@ z-`oL3Hhp_zS&%wb+QoOV0>q?Xt9m`O11@MsPiuNN5a z?8`xt;<2xM?3`G-s#DI1qgv_)&Dk%KT`4EL{R+2|LGS7+BCF(Zz%rM>kkbs|6Tt93-2MW literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.21-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..b8870f71014a46b9ee25fafa19e094bcd3ccf8e6 GIT binary patch literal 2143 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 LJ@_LT0Kk6$=4}U% literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.23-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..713525ef4357e5f21a1a34b8e3fdcd765b9b07c4 GIT binary patch literal 2290 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 MpFRC!834e402eR{CjbBd literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.24-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..0e5bb8ad45db78377ce6baf3b7d84aa572c3ffbe GIT binary patch literal 2291 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.26-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..7cabf4bac18e559c47803fe58adde09e466944e7 GIT binary patch literal 2293 zcmbu>c|6k(0|)T0xrK>2hL$^F5+%7-L`2eIW07K;(VSaq?wE|(yrhy`ks~>?A!*22 z`DOAngf%}caz5^ec=|p6KYu-+&mW)vK7YU6U4%st00@u;>;t!vZ+_d2DM|nU@)!Uh z000QV5=mGL{5C$2fQ8=$Mv*w0=zanaFpd^=5jx?&9k`t`ANKE%7}wV>DSqJX#ct>v`D;}LN87sruq zSKP-7>cMqdahb@vB2Z9_Hr}~$Xv!|<_Eq@{4OaE;F_hT0wcLv(ZLG(R{I6@69sPq_ zxXF~6p?oZZHXLcVZ|d4u^v;SJs1UxGFYOWOt1_978i@tH8O|TZ7n*kze7f6^vBB9t z{+a1$nRn7f;zCLZQ5EV{lwi78ea&Hfvgk zO2IM%Dl-;)*G|1BQJT7S*@NWRMTh%=G&YUI@R)+-F+ZE6-U-YSuwIriGhF#;flH6&f~x|%|x3~&gV z0Q>{b9BkB}>^Kd{s(4|X_AKq1JHsE#Dc&7w#$S1sj_s=>_dO8$c)$Pni(~b_`_OId z_K%f(>%?HQ-oQ9s7U=3pZCu6pmX_t^6QOxD54Jmn-Wk7)5B<6N8Z?xjkr zL4^W%V z9&n~kytQr8P3MLY+zY&PaOk|*hH~zd&Qg^eP8?>(4Vzh}gn7I)A_eS5FswTh3r;AH zCUs@~{MvM$EmojmCtIfNr@yd~*g>X8!JuyN=gB&aW&D;gP?``;_jc+%UE!RD4r`l^ z&6fCi@6op#ZOgCbi8WMS#2&K~&-OQ4vlft3-h^pA0BqJ{Q@Ff;YP@XSNWp)o~S!yvGTXSOQZ=+(mY>hn*l`eY7f z>uE7NOHQYpwIUY59_aB_QAX68=z)w&XM`WxuCm(vrt`O7vYS1R5e;b~$Nd4S$y#8L zYG+s$6N9!!iwpW=}HD(AvnX0J4JarIVFW=yYScf>ILg<6hNGAK5G~t!Qf4(r-Tg~$(lmFJ zQGB}fK3j>ANOVAelIdWohWa;~&dqt8$WgfFrc!kdD(zCQDe{WOd&@({tm$W@roXbp zFUOAMmj2@QZd&6V$Vuvi4`a!9__X2<`qs$ODwF(z_u7D=;aF_CsS-JP-_#--qSW=v z?AnW$;7uR5m81AP3yTRY**2W%bIUtnL&rD`ooeY8^B!SardCtf^>p@kG*+>Bsfv{O z`T7Nocxbjx1*vace@YmxLt_O=6}ZU%26d>F(SLYKbq4Y8DI6)6_)4x)29BhVYGBM) zjUBtQrE@dAV&p)T)Tl#|!mn*JGd}TIaE58666C9wr|&+wR^7Xtoz^u;+gmCmx1j#a zRxoiXDE;Smh{9+sxg;%by}cfFZs1cv*QLCs)7{AilM3J3DxxG;mMrgy8*8o>?-=|$ zBPV;oVrXN0iz_qH&)mW5WVOV?Cr@j$e-x17KXyFjPt@_-RK#)*R!cux1_g>3yss0? ziCf>&((1SK{uk)kYxEDj;#-BJAIi{bu*ezP3ZsunYYg_u{^f@}z0!BE_>_g7!|xfO z)8FP(2ihr?WaTI*@0tU``V?z)Qa{ewNxiwusdX{LmS6j_5Z9#)wkm$@bcGkr+t77K z#MZdl@1O>VXJbCwe7VA1gt}bi=3f!JnBaF9$so8$&Xq*Bu9npsY-Cz2o~5NMX3ODU zvC!Q{z3fk+*n1eRa33u{T64(80RJgI#! zh*j!8-x|wvj#B0+$lE`y-Ig5DZXYw!f2Q{aS$^(s452P>l<<&44Igk00R?C$U6vC8 zyIj=-@AjKE`jk3QDY#4-Bn|DIV+1jNR6IV1Tq0~RzkAH1nqYlbD-4I472@f9USWw6 z{{eG7M>B4piB%G;6wzLX#+07AuP;*BQj_5Z*6F|yDN*&3by|iAjk2^At}4@4Na|1k zr&A(ZM*Hs-k%Y!stJXb1*o;_gzqI3%Me2Ts%wx>Zy@j5{%kC~hAcXM$Hpd@!{5J_g a|IGg>5O)_*v43ua{xtZ{M*P7I0Q?8w(?SdY literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.26-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..c050fa43a6bdf8dc6008150a1d9c9751b5583362 GIT binary patch literal 2177 zcmbuBX*?5-1IA}W?mJ~jB1gH>ALSOp+{Y$Igt5&I$0Fut%&{$J@uewZiO9@_S z>UPO$`;wyGu!)-nv3UH~MbmRiB=I`2GYbWL#bTbV?aPC9j?42uKX;g%EchtcKW*`` z-zMOVy%d@%7n=p4mI0B`=iyc@Q!AzqB0NOwpX)U`L?_4eFpA%|IBP10pPIDy`LXc% z^=UBB9h$x5yg1eIo&8d+v*mCf_F1VksAdDSX^TD<#z|W49H6L`+Ofeeiy=pP<_3yM zxe-H+SGd+B{Rx3QQE|HS$-?lkHhaFUM{~Yi>Y#Z^Y3Y(gy9h{4k-_C?rK|-ncWJs3 z>-^<46zk45W53@;*|JwR?t^kC`(H@DtJ~KGSft%jS+SCFfFq%Veu@*}=HNm=V)A7N zQxz9~h-y^q&CS1>U!IIe`Nma=HMSZ#ktYH{ow?gUYR4MC-S=PmC zF&$eOd99n#L%lxhl0`3w-Sj=?7--sZ!aV#fgQw8#EMdlwVRj)^`u%Qv#io>P*kd3% zdZE55RR<$qH(<^4cvPQ`O=wb=*1XWz6r>u^ailXc>sUpf0Xt{$ttPCqVSkDv?_C~B zL?1pUb3_Si!uR51Pc#ac=gc_U%zqP@iAnC_H6j( zbM}om<=IsD6rw2a7mK5??ibHPo-X#R^>R1SOa=7ea5Ig;fM1@KY2TI@X{^ZbLa?l@ z(Uj46JzOjZsTe5=#j~APk}#J|tMc#m70l9$<4moS4fAM72N!xn(Ui`{tcrZ4{kn_A z^vJ!e34BHomxbS(1AHGAMm9N5|`LBQdch5o0T3%A^oxS_(!+ruy(JWV?-m zk?R;%dXb+SD( zlqRbsw)xloijcFIjK_|!0uOV!XxHcLJrBaffZ58{1E!tal1aQCPhfdw;{7*JRz5Lf z7-r*6h)Us0ctIK4C34kOKjORtsmeVyP7{J02JggV*L?HWkL;|zbhM*mkdiD9y@b17 zx!Wv9KR&@N@RbObd&KjEU8kF`@QINrP_0k!S)#sinAyrKZk785ugnft=|EfyyMHa9 zHRW-ERNliem6K~fEDN{gCMB;C=PR$FqF+llHpqfkC#wQ|!72$|AaNSE+(3Pd2)?!& z+gt${m*lvP0R`>s^wF=HisSQ>ZH6}u7?L2pJ z6i4$)S74NZ{u^181Rjpc=HTBL7-0@jAktIMaEDx}9juS`>Y-CTi4ms-nEYaB5awp>E=(il__wXo@_)6NolA7C%~wxzt`} zdXRZb)M7HX0ynFCvDlgE@k13HWV7F(`}bDffIVNTT8R+FySeLayV?CuelYf^YE-Ws zDchHce)yR3*(1-27Wdub22!~?G}o-6RI(~OYLCZhsc^BqDYrT;kT!nsNr+cGBp-&z zx*5P)XzSg^uvT))sg{@7l!Mjw&7exx*$~%6wYpsax6xnH(JnB!Ud-p70Dib0^=%=L zGMCl-%Oh6p&khJ3N?61fbzjKn`k_bs*!n6G@}|P!!K>w#IRBD+{6ya1>Fb8%=qs63 zE60=|?+<9-<8G*YfX!Uk-!l2Ptd`sgPtpwrT*rZQljFWmAi3vcw;2qZtv4g$T#eCz z+0pm<2L06SW}4$rGSGsso-HjA79xd^Si*R*=gS|vT&ZgX75FZD<6mgMe^Dx^Haj7! zu4o&r5~y9HzQ3$IFV|}-@P0?r>d}n`A(h|r?BUr1aKQ}Fm$-}?lut<*5Nc3H z6YMqgYQ_+s0l(l~N8(7zxz90YvTu_0R7+$ucE28@n`z`Zf6R$R3w-o9KA%hL+B$ca z^y^&}>1Hm`b=P}Q#DoyuXt>KVE}Kf1WED)7XD9ht3$00Z9_376)317*`4qKa#dy7y zHb_4bRg%|RPWrt$QUYyoi8BzE9twgu(XFd}&2!!&#V&9}d`)6-ihcL|f_ri%BTT?= znE%$+&9<3u!*dUhs`1`3bH7 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.3-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..d5695f5bba871df2418775ad4698690a7fa80243 GIT binary patch literal 1806 zcmbu==Rezv0tWD()NE>n(pu*jHPR+ja9Sf)ttLv)5US!zRGc6s)`x>yM{QNJs?@3) zwbh6{k9CdDRYgLn+C`N{g4=W6-&gl}UOb=YFZf!cE^z7tAV2^xB(bo`E4W}dHvpi1 z1ps{j0KAEQR3ZTu=s_YAVSyy72aHPe^>+0QhPnB86G&8&k2lPfOosdUkX?vD6dzxz zi>t4j2PuFE_w@7e=Hui7oB<#L0QBPG9wFF>$AwelO*;H}{obT&oiZ^=HWEmsci=WH zk@m+Xpuz@bGM3Mx>u&PI9&J-};>vCV(scETJ+4;N{BcV2CVeMmoV9`1g8k^D8Qm&~ zaek_LFB*O%A>u-u!RdvCglsX4WR;UHSBqYyXJ2|L`k=XWb?_c$b&kXj1DnGpnfH_3Wi`N_Q^Zoc*S>k|Ydc z(N!N(W}Fc1n-)0Cr^0mG)rvaqXV+s;&V+m~8Z=6U&h8udD>bQXVfM?-4lQ*-sj6A% zdfD<}BB{?ntV#1ms8og&_u6^XAHAL*!C$EZ{mxnr%j_22a%^Q@4IS<6z91goUzLe* z$}Gy3Gv?qee{Wxb<+dXjyKFh(%V!&J%(ot$Z682eQx{O>y8?HG?mSIlbtssS-OS)% zH&VZ*S=^euR zFH7q>mwiuq5`;#aNjU*Flj@WroYb=}Va%9xmOW$s@&_#OyFWVNXk5KiS2Iy07BYhu zM zsa>$WhDnx>Z-o!rfAV$c*`L!v>^mmI4Wq8B{)pF{T2l(VCEvy2nIiMvQfY!fO9)-( zQkycX-hK7uJj=RUKBC&ai%(`*EM8ei=y%axrvS?J9?d-Le)mPWh>V5Mt^69}rxM}C z-)YDxoJz_@k9hG7YhJ}{FYQ&TuHh-wjAVXbaLHv_I0zF@G~{7=q~%LP+9Lk0`J0gy3yE2 z_IeJBlHp)4^59COSFiQ$lHV@{`*GL|r53~lkH&ibEB9X$j?J7_*WW+-T2r(S270l3?!Wliy$Q|O^$aYbj z_kfq&=CKIU&ZdlxBn#x8yr93v5AEePR-Y9r;1x~-%DE&Koztxh+K*Q^ zYr>m@i^bsYBSYJf845SkZW;}7)=x$n9}KP45(bCvV^gtJ$e@6+sk*haxdxsq(}>}X zgRP>kCo*3eSSDgGVu0}Nx3`GS6|O4S$74i*Y9ovZ};=GI>m?T-16-anPjqWu_P7J&ZJdRq3i}{i1A&s&RhC za4v&*(Ck^YHTejlaU3mPJUuiqoasRPmX;F`vGEOUijGY364yk4d6bu}@5&WB*9UlL z=B>vWPik3X=DOq7HgEIjrOV}oDl7A_XCEYdKO}5GehZH&OpmvJx`V>D{FwW~O&_#! z|2}SKnfm1OvF>yJCzyE3@$~uLx3V5<6bDHE!vDtTr$_%Jg5&S`KWVZ?as6}-062cu K>*pr?^ZpCy-C1G) literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.4-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..76a3240a914be18ff4352a1077b4d91aeece55cc GIT binary patch literal 1808 zcmbuA=RX^Y0){iplG=`FDUKYgMyXLXBMoYAilPM3REnU|BNvxTX`)tX?N*1~n5WTD zCDKFfQKMQTXks@;V;sjl-|wgUz8{|7`v<(g$I%ANWeNZR&H~KQhwjByOr{nO0AM2r z0GI**fN)e44i%&x8;ZuD)ML@OP<0$CGCUwMPCXDC9)!lBvEk|g7>q^~7UPGycNZIp z^9zU!3`NJFG{T~=;rv|O0ABzg0RS*gOAFCC(upV^8ECl*DWZj=VI8t5L}zIerFwxj zJ+XHY*Ffb>9FjY~_516j!7VCFd{Anm$pp!e^6(;yTSa8Hvc9fo4jeN5_0)fMQ{e_> zDZURh?UOb3q{aMDV_wFD`}bGB!R3{S5_RIxuLXj|;y$eu2HoC?G0RzOGv_Oq6rxQb zCuz39{SL`RlfnL~UOnuioF=c_jv%{5EWb;#m4Df(QP^v6ihMUIJ$&Kah#lOoZkv}_LW|CEwP^c+;hyZ3qDkhaiF^H0mUpZ9BA+&UrXuQT*(~l5hsI7dHMH% zt}XGx${QF*p>5Ziwc~KI%QM9z!h!LD^OG)8kkx_Z_o6yVl~w2=|9s{AqjcSNYXmRR z4rVx)byqaYb0X0)0Brt%yr1uimpbajdZtqG^Po+uOF7n5`%fW=>(b9h{FH312mMRo zEwNSc#pAtYFE;mUpw&jb?C*UC$OCHM)V+xlF%! zdm*2o)y6$p*e4l!Y@DTKv8w}hYutfl2+k~(Lo1{5D?GSXmPZ6%!jyzb+afy&J5_5v zKX@7xOoB#o`7`Q3J1HYIs66UxFf`7G+6BwMXFj{_`R^;{!acT9${p(OGRIT|o(3oC zRd2?3dsc~_f9gKR^4QuD&PSU>$x!VESESOIJ~%jPU;cG-UO|IZce%-&5LpyUvBq?*KEMkVoK0wv!Lc+#Nodnn1 zK)Pu5l!D8(%)OXPyc4+w)BnM@T$kA^@86Ciy4gjyQsZC5MW46*P3K$$>EnLPtf*xj zE>+~ODdcayTVT2kC1yBpY>n**PVe7&+3o4%6x}ZVuTOn~#O`+J$7#pKCPwYL;;+dq zr&no3(b_@E#=uQ!l~JD?4H)*KUF@r=w}}q;3Ol)_He21WUu@$)mN>!M=vAd5!E!kq z^$(4@I5&#(=VvQ32RGA~%)vp#z2g3!8tAG_bZK3V7(c} z`w-DMdFzNm04wl`lq8m<(fq@2KA{+5ryv!V5i%cuyFD63-;&*R1OMDg=_S2MWt(3b zvdg#3eQ5I*7t((~LsK^w-v6l6hJZjc_=@e4@2l!BHPj#HJBIxWLi{9_35NKI{?cn) zeHrUyYF*{+G)w1xrFa4?jyjFYD?9NQi~=~?070hU|E;4_BmI*E;D7Od%E{4&`_yy* N0PwVTPD%V{{SEEySiJxM literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.5-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..74e86427197bd020b074299f4e5e2ac79b493ae2 GIT binary patch literal 1812 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 Rhj##g(2s`y*n+>`e*kn0N%{Z) literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.7-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..21db3b862305228a3bd3477d31bf821718d14d0a GIT binary patch literal 1885 zcmbu=`#;kQ0|)T0Yr{~;Ep(6>GxtL7bIE9!JVP9}ET(0KxrEJ~b(oM#ge7;FeUE)0jq!sBo;VelAiR76lz0{jXgA_NzMBSgT1@Oa&50zLp6A4!Oc z2?&b15{8S#>V`)XB18m*fS&;%1pq8_azc#`jfmCL^KOJ` zRp!rBJ=YA~FN)Fu*uQ)%$%%;{RuHPtypvC46qse;3K_q)PWB(JX!bIf)nyARTaX-F zbX*v`cy-K8DfXdb^orEZXSc@QQbU)~+ib};&Fsq~wY*J{z2lJJ_4)&fx&?0`tMRgR zod|Zc$|qHIJ69e>i4Ys(io6Uu=IGDxgDbxwPe)37^1IaWqt+sms535F)9X@Ah3)vp zK$E8a^3*vVe-dH8-U1l_d(ht>+W6seUGq!BHLw|-SEJbse$wE#SZ&wuk!x_)0B6&; z;y`@vw*c>SPT1Y^kUO)*b!m4h=zOIrb3;?0o?-yq2%Z}Geiy#kHIhb36)Ta}`Tf_E zs8W6~L@Yhk6PmAr=8}3}xB;U9GLlsBc?k89ErbZuih33t83ZpwoZzN_h_hoC$89}@ zpWgNA3!x9_Gbfhp45^)DGDB;NR+5CH+s-nbrD%SBWW55@$M40M!?cA?d~lmhFi0wW zHU-NxrxY_}x$ zL_Vf1jFDF65X)N9cV-MT-*5%^!knncw%+cn8Wz)@h`wmhMEL1dG{G_}KjjvGyOBid zL!@lJ(YAE_p^kJ(&dwR%cZ^qVg>n$z8ZudAdE)UatAZDIN!R))bSNjWQkj5F@Rdv1opfkE%2l(DnnkpBu@FEGR*Tm;fr9*k} zIZ0$7e!aW3hlxMkiorYAxQ4nv*4|`?vEl1AM|LV_zb_GF7d{nd^5)7-=7RvnquleW4;HkYisBsb6)J#eLJ0ksthqjm z(L-L@X~>>gQ8j88`sa{OyUypycO{fVJ|h)|`#=x;~mU++V{k7>M^#|vUpjn#J zk;J*ZBKmDK^&t?Zw2d$hN!aKv`<#GKqGW^^V^%$G?RA~yC|AmF(Fq+}K)8SfkO14p z*eofv6*+6F)*rkcu>1n6y_ZNcP5e4yF1LA1Z!BSaz+(-*S`#C=o1snzuhFBL)dnnV zU>+U*(0eA*Z|q|^QKpBK5KpM45}EfNEB-o3k@Z4V&NuSfa*lh(Oi@#IUvXRr>|NL| zm*mxjhZiF?J7EaKC-ET>?~P_o!Q_SMYSzJm+OAK*dc(Na5u=7q-Zuz$V|g2&Puo|t z>==Q+wCAYzpPtkdcqFD#uRB}WCu1YOcN3@M5PQw6i!7?)!!O2eIz>V2n}A|bnMcrH zD`jpFc8gZX+x{s&@%Z7z`_EbO!)=a@kzmiXUCHx$P!K*<{d1-kHpz0IhQnaf0p6%`@9?coN zaw^B!x39iAcXCeURuki^5h7c*PO$_=&{S>*_XM80y(Q1yytVRQH?>hAo$Wj)OZLo- zDH2V_+-fRD?NwUves?_DXy_l>dDg>GdqBE^bH|kD})-r(K9S+9$a&++Fzi jtp)zswjaFxofN+R&%cz;-9_jJn*hM~qt}1z(%VKZv1Z zPw!A4e?k}@9zY@ngL(M?8~{)Oz%U`{bV{3Q46ePH<8`?JaoeX>7k|n4T|+ z!`(yJ--T~Vi+kd~xEbD#j9i*DJ*%87Q4Kjck@Z_X#Dm^4-D!`V9^YZVLLJK*7G{p1 zhnaSMA042SopApyIrwmKmw@4m8D(DN?)H64C1@r&Mhjv|lg$(9l(dEB4$)b$Em-;P zmx)Z{5jc{H2GX#!XCMl^+P3Ff@?dbiMs)de>iZw6|&|cSAqLd$==&u+jE!R)NvEHznDw zxF^skB;8K!Ih)$2`*fkFuJQNdR3Tb@wZn(kN-jG)zVP{M))Ii-?(j1Zr@l|M3SP?o_nbIK@+1^1Ct_1DnZ3lEB?xLA|w zW}Lu;y^wXFHBY6G^<;`L>Q2|dq|jQ-ESY@TubZ2#Sk2QOmKtz)0x-Hj(k!N?L`x!e zY%3Ur9`gG=HRi{;yek+}#_^wpNLS`j(Sg{}u=6cv0_bTsjdYGvFg@9)7vCqj!jm%} z`gXq~GCh^jHU-Ht6S21YY5jA%W@}J|ap$o` zx60k5q1L9rc%MM=*H0FgPNQXJ-q^BWu*4`ZX-Uw*wZf7i=7RR^SJ8?2WM=Fnzw6ln zTH4$w(^RJRO6g}{nXn(phsC&{CuV@qzqR9T4K9WIr zXaPFHK2NjChLdyKd+SDHG4X@>Ah44>wt#j#jb=y6PNs728O+X3qg<5Q6D>?UQKvp@a%`8{lv2); zx-ytBz)Ie_I{hf+y-YGhYZVh0KHki0)~w%A^4Z`d})5Vudw{FT^L|=tzJogX$k;r4mYDJde2JI91eHqye9s$Zk z_ZUuA${q}4b_+C+Zf<+hh=%ukPQuiZrZ>YgT}!NsYu-ks8JqpE9{9HUIe#yEb_n~mzb;BoO6-ff$`*gr&nsUj7soD=+7$Br5So9Oe9^`Exu`qq sA5cEeVQi0pjCuaIale@RH`F8lo&Qrjj4j_UJ^|p!uip5zQ~$ny0FUu~f&c&j literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.9-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..32ed043e240cb16dbb188ac01c97160ece58b1fb GIT binary patch literal 1820 zcmbu=`9IT-0|)T;97#x+GlZDiCs*Ve5g*L$8(XrN$;4b^qMM_VXIGJA0|pL)!?b5--_yYB0T zmFc%1{Nb3UwJ#-tL{Gy_6Jle(GOo+3 zIcquv=0ENv9b*W4OzQwyvsh86W-3wNaKP;8L`~HW>;P7ly^`rORi@qp2M( zitpR9DbP7B<0RwVksp~IFs3qOy*3_g;A+V$xDY0|i~A-j98qckCZ})G@zTEZL$G_G z$;Cl((O(+!dp0^F<3#R;4ef>J*4M9kNnhh1n*wpBC>lbjopk+m@yZ_k|nqTM+Hvhc`%Rt<`kNq;MC5SNrmW^KG+`xkoh zOop&^YMnw;PqzqTqymq*V26ROE|r%R-1x>@W47IbN{Wy9v>H<}Vjs7d6~dWsB9*zL zFP`-4Qo1D<$_afYgRw(kl5RFIglE)bmgrfD!aH|w^e*>-!cX`AC3M(R@}`XC?!up_ zsikZyM_cb;zS`67=2ffdvd^I#|=Ya5FTJ4Z>7e(}OP&uI|d+fT0J=ZpV#st#*gKWD+h z%+N$b5MLxwk8YCGbsyd|8)3CGjN zU#&k|jqFilab~?!I?+Dk+dQxs5z9Lq1u|j79<6hHV`P+M3HrT?ZPJK{@}ncm8L%`@ zit2nY7SX;IKvNJXlAX`H6if6?;Qv}{H4=QQPvynL=HZf1tVikKb_m2HMdj<|Uexx6 zhV_BY-RajGfw@M*A7fmv%nTi>Z^pkR!7W8zT%P zZj?{X?!E3D89OfIofMHBecl)|FYZSOC=ayWnHuifLFL`X1*uB=Su#O3SK*N2VV1 zZg!@sKKt~9n@Utazo6#eZTwu%DekFp>t6aaEvew_p~ndIJPC1a3ui@j%<{!{ypxEf6P5d=F-{*nH?r=y-qtB3GkkTQmdmj!;84 zYw*diY9=e)q?{_+ z_V9_{iPTY5Q%>rl9BGRkKk92`#jCNCbD1dLz0{@ynfaA^?*wqR2XR0-|2Iv)b^0es Zp#RSQ36--w_iyz80Q9@TzqjF> zm_@BxHEUGVCf-Jbh?pYH!Zd~g5j|Ct$rnAHGGfQtYv4CBF}+#Li98vr1$005`~ z001A9e*nr27L3Mtp*~?4XAM53W3h~9_0-T(2 zu4qgUO4`#O>%-2>0&oBTq5uHZ#6%DIGkL#~@sTDK?m~(W=0=B5T&jft;${se3C`Q* zr_EH-aEgDxuHR{ZAKfQYA*1}e4G5hzejD3bh@M{>k-E5(Hp19K!eO)?vgY05IEN$| zlc&0f)9QrPfMvq(%@r0+BHflIu$iU*$Ts{U8T?xU3**n&PFpXIfHvi zs(WZ|4;r^YmcUbHt$z9y+%hBfW!+@RsA5`~jTc$ZAbaL2A=bCf|Pg;O66SrQjrK)alT!vO~R+;asjuuRVh;5OSkM%=Qvfr zHFvPF@mFTo^e^I#6A1!oZ;(DrTDGVv56$e%i;dF}ptf;#ni<{63L9EbB%~_DeSNUH z(9=IXI#Za$Q4kRC@uy#e^aFQ7)D_G*S*>6)RCwNQ zTF3mi-r15qTiXdx;lnJpLw(mDZ^P%Jk1lZ4Uly>|t5(8SR@BMl)I7;nsJy=%7WHW- z_y-@&&R+ZZ$oh!@D=&)EiZ#qIH|{XAsh9*O^Uw8gVyU^GL?0pWVJB_Up$p&{1OYFO zB`i6XnNCl2U4x!7&{t17yoD-y@D!e4QM3~HFg_NNC{Aq#+gonhD~DeS zrJ0??Gkm6CtB$x1`}84KvP1Hz56FJ${k+wy66R_4d|D1WiLqb$+~}HEQpl`AUF9wF zj>`T+Z24~Y${2e;$$Z%3nU%iOPea|Cg|g7Ld7Fc)he1P_?)$EPH!1KRuU7L6)o%k2 zcJ}l7z}D9y-96uMPk4!Tf?ZPv#x;cW68sW)`W$VX%E{Re&i+dvoKT8}I$gMd0p z;l8n`Lai>~f~92=>tZKF%9IBSsx<=c|72I$z(jR-+vy|v4zMv~L{74E_Ye#&dEMfI zXyi3Y#8gMpWzxjDK&*^6jXU~WU9JFY0(|$zGchs_qp?&~A{@do6f_;^l(mHBh1S3L zEb@7vOyxyRl<4h-3_socvlmD87uQnWdO+2CUc$d!cQ-thzn>~0l`2rw6xnghAM<*e zw%g5O+&E+K3apZ$$0W6j-SCml3l)Cm9^Gt~71PTjFxVUU@woNF+@djh>q-6Gl^Es1 zDA?ho2i|v^==-C(HiBtbD!h?_B!&Z#JH_tj z)?%`>SBsxt$X&b`Y@<-vqyPApHJwPPz4kaIB{sS1-7+d=Xd0i z=xvpKH-)qMK28)@iAnQ1qB{0BYZ%{Bf|8OGpzFE><}@Ztjdbq@vbYCP{k_SyO|G?i zibP;D_s^<})tVT%$SbS0!(}OBH8}yB``~XJUjx>fb(>bf~|bY_G#2X*NV_o_)!=(b0gtiy5 z>T@dI%$G!OwN`ej&PLO}=*F_aWPCYU`Dz&DG<2MiSUQFrO>f2O4W?~quIAaeU!I9f zx_1@F1OruAqa0!LsFMJp6 zrCr2bI=3yyMaQ{i*1PB$&H%VsdPY^%oC>@(w^jdu^akj}v1h&0Jdcc1{!7>}7|*fp zjy(EGXhIDr-xXzNVxC%8C-L?*k7)84lmNgiMTL>-uqtAUOZ;oGMB`pPA-9<2A&+nS z8_NUEL-IdTde23n!hG*&|JotcW}J`km@Krp{+u=S7%j4-u6QBacr_T0hzoq$BOmle54Ze~oQ4-4FUE(BAe6d`~a41h-bhX=b3kOrD&ImNNSN zL_MY2oNWhoiUkPQ#`FjWr@I^fo~=-~_|CI&okmIlf4xAr}F!FZ7>> z*=|BuKWyHV2>j%W#Lmv1?-}kMn;8O`)Ik5+F@9^te-j1#2mhyWm>IHM_-6+AyWYR) K@>^yAfd2pw-b;-D literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.0-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..903bb83e30907560afbde3a3f602354655b624bc GIT binary patch literal 2179 zcmbuBX*kpi1I7PjEnAEtaT#GOgR(S{5kk_n*4US^HG>(uv1S|l7P4d+*X~ARM6wSf zCgc(_2nos3AbZ)~+xz|f^q%uP=bTUH^UuWa9Fr!%2yg*9=p#f-+~8&zD*$xJ1Ary~ z09aQ)e^(bM4u$q~h2qfuD5$@yFBa(=40ZOxx}g2hURWs7(^KBh%hSO%$lJ@;-vR0C zj6w&x%Dek{VcD6O0XqPQ1OSbMgvUz9NFsrc1Lw7u&Sh@+P@^r}QR! zAGi$}e{K=U#yiHt*JJoXsZMUKVr4fpRs!GyDZJrQxoM8`$}%-p7E&27`D)4Gg+ILq zmqBA#?ujG^w$AD4>n{9mynCJ?rXi$EhJP`uaLFoE9ErB=v!Cm^C9?pt3IKUavU z|Kn^t32nNk4Vivh8DOtLD!H&>F}3AXGh|#e_?Jwbr6#Y(jRr;vmRG)m?RKMzmm@&!u>O5{!K;-40-9^tFWJVVX;hToUS z3?G6|Y@moVbsJ{HJ&NvD(FmJMSYDfhe&fKD2F&gfrc2e$Aj<1Bs4eSP=v{pmPy3#F zf4z8A1E>^h)!NE@c|dA&tKEro__QW$bvDJXhM+Yk{xPms#yqo~9Kgub&#f;=k`bps zOdL&JELEax;m!fL$8G?~^jyN;1<~k)gUWE)ar0$(xA!{!v+=}Cx_X+eSZhwvn7pPF z`IQk0`1U_qoEPFwnA_Hl-HE%u_m@q+XPhqhf*JP@spJnDYjq&`F#f z+;)i-B7+|yJ1nxZMr&$YiTPKT7%Y`4ELO(lcw6Qu+SmeX@S#vz%gricP_k3$Wv@rd`2G(58{(_K?i6GOL4Bb#46J z5(Ht_V}m(-8_6x*WR|^(=z{*757Shl8xgNR4H&MhUS?K>r-U!hAIZ%+aWBr>3H0Up z$uAJ^pd;=|>5a|4yXH}DmK+eaeX&sXJ>Zu@68tXl8650c*ngAeFr>)Jra0|)fN!n1 zyK~AQ1W|CWdb083q(T{nIud&2Hzm5rQndH=tipetr&mZTjMV(FWFf0!R_8XCWn^$f zH!+HHk*vetd$GCri5G|M*n6Us84%HZ=5!{oW7vbFekUm zzCnjoF}lbfN6g#8?-D(Ib@A5<;B&UCok2UVlbihD_hqd+)&%g#-d>Quc%o`3_K>r<55ktydoh(a zj2(uC^{^ZUO>^=ht+WZO(_Yyj9d^M6BzEwNx643! zaYZvyCUQt6=&OMBeL^u;lhyjUk1J;z`ZKvEh763F=l(YV{0jm9RV2gj`agNV#E_Zg O_YK3p#{3>^zvDj$x(NRO literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.1-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..acae1803f50169c360bd6c8e22d2e60cd0741139 GIT binary patch literal 2278 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 O_YLSD`~MzXzvDmhJrE55 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.10-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..191cab4ac3327891b7e5b2a83f47cb864538d571 GIT binary patch literal 2269 zcmbuBc|6mN1INE|AH{y=>~Y5&kyb*oJtFrpx=;&kvlcdEuH18%BOXU2DOZfhQErMA zlk-u?%{;QX)0jn1{r>;`_4|DOc)vdXeExnTY`A&gz!BgWV20yd8+maSdcY3=LuUX0 z4gdfi<4?k%wS(^9yfNBAIMN+$62=ej;TNKfBH+Cbm{9ZufUeXv^R{IwX^}wiu*b3z3#S)28D6R zq*L~>IxJanH_WJuaYSe+bM~T=dWytLu*}ROktg7rZ<^^J>>cUT?8O!nfk)$_)Cu!( zs;y_g!)#NRfrhbMr9HVPo;uF-MEB%VPC*Lzn`SlNGkn7kT>{D5VjB+8_e{K(-Vae< z-eyQsM7j6xwR;xFk&O6mRjR(Onqv5FLiUS~$g0fsB)=JTuTc@ue96_L(k!%6;1}__ zK9GG2B?YukSt$)1R1g;G5%X!L2M`Y0+-KMCf;_8^Am{s(uc|Ww4vS_|mEkay2tSz_ z{>)M0K;N>Kl@Z@{(5XAo0g1 zWYJA?=f8am=Un=Hwm<*tW%a;8VVWAvcwc$V(eY7(0F`wDBf`DtXZ)5S z75T8N)qgyv3HP1m@UpI{Ta7-eCeAjhGp^j0IaMPJh&~vIzICauKivRU4PE|l!ZiOd zLFl8iEHA01wJl$mhW5S=Z7Ler1REWlS1GAs>ye>2skZM z_m)=|>R=;!FVACGbznJ$&Hf7$UA7s1Y}XQDaKn!7>zBz;_B$T0v&`2s=ENtZ;vwpIr;ymVRW%kIzTdj%5<~@g+7cZn@BY2KhDdq&?B#b7~ z_q?dIehXS-MAqYA$a%W{D7X9UyPA@Ud8BA;V1?&c?uvn`yM%k@^gixr_wEUJMLQQV zM=*1$E(0q)!&%S}vCZ4#y4Lq%c{tTyW$xPb3nECSDO2oPN4;NbYKhcC@o^ z^^JDyt+*^k8SW3CK|U86Ix~i!qcT(3G8sH5KYJ$3Vd+9fVykrhm%)`3(^mQQ7~k{a z54R-3I;dySYEkv!&yYgOj!mT>Fpm~W17p7D+^kZ&*FT_cFjO!tO`lShOI(M)jaQ-6 zLZamD#CqSOj1pRJv@7XPASLI$WQH_!eyDaAMnf8f84Zo%FU>QoN&CE9Nky45XiU@9 zsM5pL`y!}bNALE1vDMk!!N&U?r4x4+maZU@=XY@(>0zW}j7^xLO$N}@fLBj(l^5&^ zTK$B-{(g8LwMvSBu7^ZoX_BEWy6CEdk`DPjW)>wj6wi`>JG+BXGIYN0@zlMV6%8RRXOjOR0)kmJDxG_|$VlN*Jg_Siy8LpjJAM|x4Y zOTb9#*&YgmtU($!>r9lXMw`1+ubc%st6OnK}(CoMK8Gi2Lbb~b$( zshY!Vk;JCQpM@_}FB`ltZj51$6os5DAf^qew3RegPc}D9=jB{} zNc*R|p60JSttH~3Dd6u+y)WfrYcdL=vTvj`fSXVk2J=La4S?p>?=MvDbG1+@@bNpK(Vj} zr}wkBf~GNfCK6cUK*q&z8K znERZpwR5nLl)nYWZ~LCn@dL%PyCV`G*@OJHp?t(F{-uz|heEY*k<(WV1S*CUH!+EO zk)uLM`r8C>e4__b&T7KSWbd0TsA%GHZ`zmL(;s94pjN9JF8s6>VPb!Rh}lN1vCl9y z^Ddx&ZbW7_S)S`0;{T|p69gmSm<`fTB?5R$jQ7KD@uM11lM_JlUL$&D?#CFEr z%U4)Keb829MnlclINKN0hE0r?v*i9F&dgIszXF`mnxJf-2muYc;FR1Hq`Ujlf>vyF zKRIh3WVGP^h>Nm($0mC{INO^|BWtKSbeHv89=CJ-mUzfS4{GARq~>A=yb+OY_h40P zaBMTJl&w#&#*WMh8E`9Lpi|)Oru^x7q>lRzlBRn6qCKrlsJP}hlwTHJ-LHgw0-Hy4 zACxN|ZX1fA)5~IRCu>-RNR;zoy_|UVwTWF*(f(@NJDc8Wl&62|2j1w3gwZ2wGsQiQPKIs)hZ-)`|sFaDb-uHX1SO#@-W%lG?+>sNh#(N*C0`WH!9 BNO=GN literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.10-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..e6cde07a5c095b5a077cfd581dba4ead10b99516 GIT binary patch literal 2173 zcmbuBcRbXO1I9lNhm5SUS6?G?PMMJskxgZUJLAjAS!bM(#97%Q#Lp;YkGn!Rqr`EN zQD^VbA&#pvF59>7@BiOlzvp>9ulIk?zt3Z3%E)vB00CUUE##ps^YPr{LKXmUPy&D( z008(Qg3t(eNQfuW2LTB|qCFvKM4+E*U>L*=<>!t>BT;@3S05jxAe4_YBGexhh<0`j zbn`?$L@0R$q5RmGm;pEdL;-+KLc#-;Bb9(+(qN-DXF<0gQs$$0TvA~uR&~C% z00U5Q!+x4An{kIp+R(4|b^akiYQuFyvY?&)JAR{p^rrQ>&Gf;;H5YZr9-&=N^Hm%? z5o!^uL>K0BMvU0&JP8k{%LSVZ^6cTZ3}+jnm_<4n%b^pg!UF=XxmD7{0S9JrtTFgnK z<*Z>bIbO&R?QdFV;IjLekcLgT^s1E8u|F;=F!bA6aG^;K3Irmt!S3HQKfkxL7 z@HT>1Wj)~jThWh%u5>3a3LsPV_FRSpYNn3GON$R%)e?D3f$H(G3zT#xJIe@Ctt2sn zWGufplRna+rkoARO>K+)VBR1)C80l6T@^XdxvlhVQNsHfMH+OJ*5+VfSWXyMOblB@ zeU-A3G!vU{Kpyw=!3H_kb^B<}^@4%5ogUWK7kSrcHDgjYr9;5Uj@InO9yP2Z%|rw`?7mq^t08siFj(DkxWDjDtP#AZ)bl#QH(l~{IKH)R)T5tkBQwN3zArV%tmG8cHP6GfWBWiw&V%=!m$kSKcgB=A?AfN z;=eq30ddv>>t~)(z>I3JR$~gMslQLsG#I+Y!z*Wl8-5Lft^v?xTa`x=b!@E!UvsCT z3tPLr!g<^2x9H+pLVRb;O_NDir$;LIy}(xxv;3{~9BRJ{>^CjEEb-%o(>XGIxLif~ z-sf!4Pk4)5M(Q3$C{nT~XQHp?^6=mm!K>Zyn{#IM6hNX!631OCAFfNVqgf#p!$LuG znIUE~g|Zh6@YIS5@Xl29laSn0cSRfwRvLkU^(TJ=QTpAHOGlmVh zwXxRQVt>e;*J%8moPFqOGBEzI;dk{Ta8~@Wl63d(0ZK;VY}nXlWU<`yyl+0&ZmA}|^mxSS~F=~Xi+ZBRzP8roOin%KyG?@z_2w-kGsQ;xRUE7R`4`(R^ zW-g&jO$aBCd!TXorQT7V2b0Dh&Sj*4ujXf$uh2!MVP_Z?SAMl0!HJmdAKD>S- z{-c?%sl$3{&cGB$eqRAGcvc3oTA7RVwHl@0Cm$AI1q_2QylSd7u(ht{N-Moloe1yS z_Ker+eA$`0hTabF06i{(#G>W)%MXH7T=hbm8H$S2SMSEj`*SqhpYsQ<;!*c-zWb{x z2^~xsJA>FXlTP^TrrHEug{*OW@8b+E$` zYq>F3sBC2ugfX0i`BMDlWj?FYT0*GH>Yd7uDd)i-rKiLC`aKt%YbepXSZGGz`Vw?`TOTrUcMafE~8%)tl3Ts@E&4l>7y(8?7 z2XIOCBjjrDH@ONTfUGnRf@ zOuOJg#RnFTSjf17R^-H9xw~~Yu61_MZk#qgMl)KU*e?NLNXBqWj~^-g8uHw&8DINK z9vntfhORH%zPnN&qT$&TE2`Di`Ie!s&F+O>ZUT{;t*EP(vNhN2#le1SNb`jtD)DbGL%znmjrC z*>*u2ux{j?T^ZoVEf%$rT*iAp31>f@3c0%Di>W5$lcZ}eS*!l&sd5?lXnx0)O_!%B zsWwW^IAr}Oc6#Zv_@T0y=nm{uZ*my0GGzeWVEo_P|7ZUHt0;zl@qa!6D^q6hzcmbh N?E8lYe@+Gf`~w>fAl(1} literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.11-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..378a6995c9c9fb02c1d3dcaa7aceb79827f22863 GIT binary patch literal 2271 zcmbuBX*?5*1INcq&gqGAC8Qi>?nHY~%iQN!2uW;=*|61IF~@4|xl1BfjvTpjnKn4H|s8k>A1MQ%~v5{t|a2_3pIsf_$B^e=Qs8lQXN>{Wa z2+m#DxR-K+-@Mx*Wt7#qA~q`Vtup`gZf_?{?-|8C zUfm{6?WdHe2kL{1L1cLN>Ksg7Ir(IbnB?pup{HVQE$xeaHuj4%dke3w@jaRnp--Dk z(XG(KwsUQCzk~-VsZn0!*)M{)|MG6AN*b_flXjtr_v0ZP)OXX6{zu33WV>Y3yh@)6)2!hfZc*NXOzt zTHuCVo_o^F8{UKQjFrOlH=&zH?Db`3bS|xH8L~4VLc2HJF{Z&(B7XVN<#YfF_$kqWqm}Y}_SBno86T!mCngg_TyNkm)@Ws{XqA{>^fhQt*TB z@}S~Q#eIP#1NtF7dJ@%ylOz zSyQ>&od&eMPtot&bWb6%H}1m$M7qwm*yZizMM=!8levd?ws_n3_$ zM6#QtBDXqntckpCq4!5YIAl zL-niWiwo8#<1Xmwy_4Gr$kQ-cf4GOvy2?4utJ)3EAA70bdvR)mFi`wN-nw?u|B&n3 zBAnGzt#5R<#I<>FGiL3rMcmfFbS5X?;K8-sn!@+sPHvorK%MWOlYZ1#ntcAuigyIH zZltV~a;6uX`7Q8Bd0HW$hsVCONw!Nc_EQ*n#$mATX^+dxbp&rrfho%$JuhG00Bt>B#wgtk#RQbU$lFB;_Z?DWVfjDcc4?3D$)#n~;=5|#k zx$$c~w!~hW>sUBF=5u>eKhS6T6tI2^zE5IBJhxX}3ffBA7G1uF`thAjOBn}yIJRL=cR?4YAP$}w(vPXA^yjh-A#`O_gyoO1xOG2Co+291K2=atYGH`492S z?HyxykD=|~X|KT`EGv7$byZubURu=wXz$;^pZvE(=!*Qu|m4xB38 zyXb(<6(6z4hbK{#E`-^-~E3|h8X9;MtoE9!nf9Epqh|uTd)Uo7lf|^mdqtR zH|;`jkAoiNjJtKR58>vlh4ib>Ts01Mjc=u8(OdBq5~WctyyIlVXh z+k*ja*jf8TKZYQQhL I@%>)^0@9E>-T(jq literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.11-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..1cb7ec1d826310360f72f1cfbe30fe903e5d387a GIT binary patch literal 2174 zcmbuBS0LMq0>=NbYSfNdRZ0({v9~04&6u^)7)`9GCQ`AgR*f1(H8pQ*6N;)*Y6PXq zIjvE(+8{-!(Pi}@%IUf9_vwD$!}s>R{(g?OtZYUA3&01Mx>@P0TFj(~?=4GB>RBZT<)M}-n@kbJJ* zzy{$W{8fU(2zV|wcEAe&5&!_6mKLaaq)9BF7;Q7;eK?56UFelg$#RxNC^YeO=?Hfd zEm+E153=33tov-T$9_;Zz+>XyS`n8R;_jZ!U@Kxy`^Li8oKfbwuMTwo71dO)EX6Bb z)jnC}r=+lt|D-28E+%G^ZYryoCGrF;u~2yW5g6Ux$r!SCV$2^bcbRY&&hig_xHLOx z7ck;L?-&fuNX^cP$BtiF)qD~1`GpAoacSNkX~OOrc*+t>^7#OI^_(GGNCq43QRjZP zOy}Bq6S9iuc5Euv6c3_RO;K42X_8rsMx8O>)%KWL-aqH7lf3P~e^AX2Go`sEF?jh$ z2o4lC=N{sqdgtyV1xRjmNk7=b;|Pp#q2!lktt8{w&+w&Oh>bkeptAnD z1&T8N!X!gm96jc{linEh-*Y}=%58}kQ$>#5DOfD&!rT^Wz@9u6CZOLs=@DzQ<-Q`r zeImQu)MF;BEB7Qc1~V7MaCi6jeaFNaKK_!fE@yUWrwiHw^)u7wH*>t*9bzXMWrlJm ztd$n$awhw<)$&*hv$~UekgZZ5&zXI!e;hy3zoYVQQM!FNS$Q|S-DOGn5?E+1(3*YZ z3$&N){W3TdouO)l_+-PDW;sPxMUJ3`3M64o4%@XeK>C$i->Q7Oe|V769|w^_XQ_x6 zGcJd5j+P*Sdnhh2N_2CsY-Js-L=PMwI^uFk4IYn?-+geb5yj6#`Phw9`QQtENfFiyiA2IlK4B_Ed7+1 zlWtpds}(m59k2gvRrP+Cx4A=|zPe(A+(KEbc8?&BGQ7q+m7i-QliL=vK{aJmC}CA>|NUohRL#is$)*D`#T$DgsO6|~|*PWhokbv{@kSBFgydE{?-mV=ABXT0XhZ&yYlmu*pQHjmAgb@Eo7 zIk|l!hYv>kU=}k^n;Xd}=TS$gBayz(H#0#chlp}AGSLsgFj&cPT=I_GCrT<(*|Q>Fks#RP zJ1-o)diR%cj_OQ#8zt*q&DV5s-{3++n%_h*XRcs;t=T>hpHC9i%BVP?8;VI^7PvIjQ-so z4_f1zaO!)W=M{rq7)_3v;q;5@vOF_A9pk$Jms{w%1k7sd{bK(cTLK7yAqTlZ`puUR znnjGbSxgLtgB>R7GvgCQZHKmv7CU*9a?1_G)Xd{ddge1&<++!R_&^CV-C#yasa-?` zCvSbpYk|K7x%!=~CXsBe2EQ09YFcVL)oly18;UQE>3l@JwrZ)Ink9SsSyxqaQ;|*W zLR>&NB^=iDoOvyfCX%E;v5=z4!##X@{A#S|dr7nr50t_%;XWo}Ki(-J-w?k?9_+nu z6t}kI5N^^xVaE0=cdj_(>_g@-G@#r|RqxdSlhR&P*8FriNV6JFtjQ$KCsITnMC_Ru z_J5j>{9K{Kfke+&)j!@xl-w!b`f^(Ib7LMa+f-e=R`R`*wBAb(%(U(YgjKOU6!~S1 zcsox+fcC2Ft(wPIV=|Olq78&jF&B(K6GEPWT$~5*P)_#?-n9F0=)u8gkp?jV|5)D9 ztu;YjLmEVF;zV6rY2ew#yt-H6cO#8O-g-K*5r*fmHrVUrE(!N|gNFs%-uAE-!?g?C z+zoZ1o8u|p^({vl*1Y|5WLUA)w2>>bT*_f`v(uQnQ6`W#Pn+sPf7+r28I@;ydDe7} z!3_OGd$13iSP9pf*}{isr-q9}+h<>hA$#T6!4<{1$S_4X_M+~rf7+F%r$a(b`+^lG)y z?V(~EM5Z7g%EgYhn7&$h3T>M!nh6rJ@3LYgWQ~knKVIx0@k~*K&Un-Lon`x&RRn#T z9}Z)a3#GU4ItN?0O}npt>`^EC#prEETM&y8>;H!TZ~p%`37~)H|5O1-TXv3rZ$Q6$ M{r56|TLu9919=Smod5s; literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.12-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..6bf642625d0dd239629455f4175a0bc043ceab90 GIT binary patch literal 2272 zcmbu>X&}=N0|)Tmuv~Lr(VsbzyZ$*A%~(>A+(oXw>7kH&`I!V`kgZUhf+ zpHS>+-yl4Wn*$8E000pH5D5uhS_fKz#Uld^aJ~XM&PTCLCO*YR%0Q`>mj)AQ4!p!x z{EC%o$8GxdYU<$kmNn7AVSxeidvsFl2c9*doC(DlLL7o>fHEdq1(cGVVcFHUEsh^PEh$1-~m9?SL`6kahV-Ld1I1>Z=VYgT9c8XN@m`U$1qCOX0eKGH)3m*BP z3@R>QM_DQeU{qxja&!AQwnJ2bt9t8P2N9yPK&a>hq z(79RSn>uy%uLAD)sX&H_X$X7uZhD`L8tQf~erVKtrV0}v$ch%rlNlxNnTNZ(h2|cL zChW&oey@v;1Pyq!+tNN^-I1k?yZLm2b5&V@+Rl0YuvFBtdBOaRaGOw%=aPEnF%@Is z;AJWFY<$*BDZHFyi9O4!rB?eT zw3$`wk^pw({JkWerFDQV=7dQp#?Ib26Mn1T-X5{FXjxvrLCZ_i(SCP_t0JQ-H`{Ds zLaHOka-dEA(9PdOIWK<0G^TGk2zmB_s_?6i`z1DB=<%!jjhr?lajP+i| z&jAW0-Vi66FfJ>(6z3jl>&yIQuvA>A>HWk>V6#-RY4SV2m2p5xIAM9?}DUC1>Xi9$iJ<9{`qz2bLW&2?E zWK_t{WNNJI>l$DCcNV*u@wOc4k8rV-fgjaKy@x*n4iwOnKBoEFxT zFJ7FmK6^)wd3o<9xQl}PVbvNKazKB{Gf9okhr0`~8M)4h*lsaHkAHo6;6sHG#_IyD z(thqoL5*}sAWs)j+Y^yDpUSw@sLWUf*ADj0uFHs1#+1OXcgzix3^Q8&#R`sPB5$B+ zsgN35o7pe@uk&`6vP40^Xg1k@`xIC$~tqE2~Z+5DOkEu*$t8HB8kp!sVZ)l3+GJiST zx{i%kmBE2a&RT{Dde3^Lk!4wsf0$%!VzmBKR}L)d!noc<#I?(| z)-~y=DJq#kK4pW3r1%r=2pkq&7-crzoI;@sV_Lz z1WR{iYsMPjsy=EkxOodEmU*63JXZFMt;6smIV^0x1%EP8DvB&|!+cP+27lr*hgxL@ zoM(}&51)(z6$DH0lg<*6=KK2}-!J;-K4s4kQJB%51xJ)l(2ZMrCa zxER@y^hQ6`AvydbZNyDlD8d0sU3(Kc=pB&ziEuZA;F)8!cQZ94B;wkxQ9!c*j6 zrSPWoHaDXBer)9N7eDrsDv_m%(01b-^pWMaqV2cNDo%dB76Z;H(NA85URJvqSh`YQ z!&s8j@roj6);LzBD~Wp9U3@fd)7c}zS!2~}!g7pkc&Vnjqk#^1HsM(!gh+zwp~=;< ztowHGJRICpaLfI``AFr(K44`AVl!m_-@N!EjQ@rR`gi_MY*?9rkNtZC`qO|v>+;7j G0Pr6HI4gJn literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.12-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..69cfda7c56e6d274099e7f402bc2ffe350ddadf9 GIT binary patch literal 2175 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.13-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..0d5a64b1397ce471f3c0dec65e59e0bbd308cc84 GIT binary patch literal 2270 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 EzyIqn5&!@I literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.14-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..4ad9c9034ab2c54e686f905463c5203d7d4abf47 GIT binary patch literal 2174 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 H|6Bh7QNc?r literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.15-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..5079edd73652feb4910d737690778b26718a97a7 GIT binary patch literal 2174 zcmbuBS0LMq0>=Ngw4!Q{a&e5-uBxKc*2D;E)!sEqQjt>}t7?@d_K4M*r9?@ZpjN9A zvq2Q4Vpch|sz$8dx;^*(KHcwo_};$P-_OQ^g;gJ52Dky!pi@V-4Lao+2LQOJ0DwLK z0C4|sl)s;HL|{;ezj8znDo`2akA!<8qm+FSaK9i_5CX339TK7vjtKGek9>eYqCCBk zzJWmx{Z)d)5pWPI8{iHAj{rdL$&-L(Ade`~v3gVec!*I|nVvikel2-bk`? z+4xqE#u{CeV1(0uzUiLxw~A2uGr9*~i?5Z-ddvuen3Cn?oo)}{qrj|a#Sg!r2l30p zI=BEX{sxHUem;zuhFO#N(Zm1CQyi?<7iC;J(@2UFIh!*v)t}NdODk#S?bH@zY#{g= zhc6NC0lw7!rNf+$VT<06pF)RX#hC{mruH3F*w2U5x5#n67WSzwEFe#q42KP*6l*mh z^1;0e+6uS1(p*xFB;`&{4YV9WI=~B{t@TKdYgyqo0-Bw=rqLd zJFKN0Q>jZ*Kcb#L(rn!6%23pcP&n*icKYrN>#^Sdm|5t3_B0ENtlX-Y5qg1(Z;vvp zBv?j8BJjJIlMJdyKwlz04| z#7S{Gzg^$efni-e^+Z-#^He!K)5nF%RVfWm?9;?ljk>K>nRR;r*?z2;u=w!L+GS^e63+?Vo61rt`xfe7t ztB!Jw0I|0c*2s4!6-P_bPHdbm>xhV@+GMaw-kODwL(96f2|PV_tl8@ObA~S(?|% z%rNk{qt5cBb+l!Z`;Z?yLZfh;fCj!5jj=TGH7g!|{;-c4+J1N4;N7gt(T9q$+*qS^ z92Oc!zeaH=&pn%?g=cv;rA2tf$lkSweSH^eEIC;IJ=5;G%HR(Iqpi|PJGPow9oOX< zJ0-zGd9zrVQVxVAJD3%g=3eJedI+qV|-RxxoKShQQfGbnM zXryWB#zyX$Q_F|ln-AA9_Mb{=HLv$%Bl7re1yB~EwNLLtB9O?Ly-#aO$H4^o;gz9qCQRjGqjxKi^{apAiX(*XaV z$;W)6R0@fAEt5mcnsfVjeY1{T)fdFLF240rYWPMXaghFM2ARgvy!#~G(?ctF87FX} zcGq9OeET75j&*NJud=!;YxY~ZgQ@i1L2<70vdq|~rGDyhGTX`Fi}-_uJ)0Ko!WoEG zFgLt|z>qSD)&m!Kj%34x#6S&8Tl*=8V20cY+Pi{x_qGRHH>P0L+TK_qbQ#sbmgHny zZ3NqDmhgL^^KegSkvo6FOg=Y(%CWgHe6`BfJ=CC_6ux~bO}l~hOsbNqa;w>_C)7~S z(6YBXBkdD1alCb~!7r0>K>@JD6I{%(A&0SmX1i#$E2=`I&Ds*12gGvDxRKCGT94`z zyBl#_rXtF8z;zDvW`FR!>@e`jlP zi7l{nbZQlXkD}o-$5I M^!J|rwhRFH4>5}w{r~^~ literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.16-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..fc4e111e77ba383eeaa8e4796bb36f880e9b626c GIT binary patch literal 2269 zcmbuBX*?5-1IEYDa+ZlXnnaFfQ*(U@k3+cOy*y8|umY?BfKUKHIVR?T!jXbc?#MtLlIumcr|YFQXk-FLNJXlWqe&6m z?4!Y)TXT?TcKUAny~M%ImKDB1$a;;6<^lw3QN^e2lSEyaT1y&WEZZr^&EpF68Ipp!<)oGNNbi%m`KEWw6=Sw~-YU4tWzR|+u!F-b%h&;~I{Z(_k zTi2OpFx@Z|c~G`W$ppkcDgyC#!7QT_NSM+D*QJrpbVeyD4~8<2__}6W3u`KjAOL$lHp!W{a*WTB%ODaa@ zX>uwjCVbIa<)cv7TQ*aZS1F@INB7utv!So!UT9uC?45!=sQ;k8i)3W|IWW#U+aT>K z#!($=QeK<(Ev$G@Ac&@H$E(Q&>q;OBS0;UD2~dlz!MC`JW-@iqGBkz}9@mzMB@AeE*3a{28s9R1me9};aZIdBVq{IvPf)%qD_U($Sp?se9B zi;JD?@jfboMe&eeL;TU8te4HKZ18#|qetW1wJ@shZm-LpM_B1|F7K;aa^IsFnJ)v7f%Wv82D<5dyX1=ApaGZa1746o?YJkP^f_|D1aYA_Zn5&k z;wgqht@S3;4OMisvb32Fky%X*p5Giqqw#yQ;vFRHYWqwpsnDNGb7W%x=A||ES^~jbxX&qO0b`IEgr0jH?>nO{$W$N zE*0p7RTpWBsP|8<_6!=-u!7G~D=YQu`r^dQOaI(y01v<5$Dq zS(TFz{n`BISf-Ci<0}t4HuP2^N0j7Jo|m8R7%|Lzu!)+i6kZK@V@kOt-!Dtcq+`%e z`aBlnfuS_^fvB&qKz#)td140=pEPUrRt$7{QJKL`u-%=uvQ#Z!34dp}|CQL{?VoEl z>8&zU?U>PJ-M0oGrQt41|L-B8dri_D=!eHwMm*qO~ zkF8)5?P>%zNx?}rg;-2Sg8ZGk+bK-j=)rXBom@+NLRzL&-u&l6?65N10M}|IM^T7m zX^ez_kk5C{5}_H{=#gLh7DX1I-zq&yw-_?^RpMtJfChX{V^r>T7KU3DKD+efE5rcLf5sw&e^o*?{-G6 zBsZ)oKE}x9?O=fn`mnaqob|%Kl$$1IXfBd6MxSL|tMKEO=1NH7MwE0FLOyD}O_%f$ zjs$Xmr#!YIDo%@uD{nl8B44dp6)_q5tSGKswYHjk6^M~FcY=~D)`FXJ=jd6vC!u7* z1}bw_CiHz|IU*Ln#a3b%GLy&oG&!qBZ14z_(hZN&4ou4jZ9oN3IqD!hQ25!@FSDgF zS*mOD7uulD-o}djen-L14JSXK+g{Myw(uFZQ-%A-PTP4y!}}JQ!M^m%Q`btG#7Vp% zv)W-Bt0L418ST0&5m%<gZXv`MVl%6k80aUBEPXJ&ogH z7Nf&=gkf;mr_4m^Z2G=>6cb8=!@eWpa=2;Tb$zuRE2cX+ybX?Yw-FAXX!x$7us&P4 z0i(lj(I0sG;br;R^!^{>u}eow3tdg#Gtaj71cf9&xmEkS?V Ezs$}v>;M1& literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.16-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..90025118d38a10cf0e7382a97d21f5c25f8a2924 GIT binary patch literal 2173 zcmbuBX&@7f1IFh{ZfS{$id=bTq%7AvB=?b<5ji&I*c=mbM2yCZoFj9E%u!xzzl>q=4 z002NELa_*MaJVlj009n1VST|^LL7UOHZj(!B|xO0QL;T!xHKEkpYrv5o$6=F z!MEAVnpx=%JSM%S>D2A64Iou)tNBmE6){KW2B2|pM%%{x*Nm~F^?T~z!@(~7o29tB zc!*`9@;>OSJ7UsVCpIdIv7mohA?@5tp!j?~e-Y5Ntz%`_(t2f%wcM$9I-f2?nKh(S z%#ov33+>}LRt=*x4}gF0{ItlR5x)6M>}rx{UZbb-w2qbnO+rUtLG14e3v{CNF%=3rBejU zUGYpOeV@`SXgVZBm#O>5frYUP_lgmzo&o##U66Y%;aw7GHcp-S6IxE>YvY$;jR+;ctoH5wJ|>7J%VO9TW6K zGEI4C0l1DJ<-c~6A_b%S#)Muz(z3$`Q0(3}4(LAY<0&O?d4J&pRg3a$iAl zq$rt}%i98)n!1O_MctDI6uRS3HL|~w+kQKVe;?iPK+!%;rN;P(DM8m(avsc9y2r4%VlIunY(+rY=Uetnhb(Fp&st7EU=HwTc~R6^lM>5j8n$Dfaf5%> zK)YPd9UJK`*fzdSV9`cCAYPxunba;?`1*Cqq0ZO?M}WX<9m4|O&i@waFN43Na`*%z1Ut{RrOk^A9RRdR=QbF(UdgI z&>S<>c1p|hn)aK;NE#h)6c2uag|1a84I+l)k-$TBBFM(eD{*;pcdh_N$_>RoLbSK% zzFwydHHVcwA@gEK=%e{{m_E~O(GodF>6&cT6Em1&y z>kGWI_xc`^E&1xosF?AJ;hLAZ0`0U*Jk677F2zt95q1Mtw`-4GZp^Ndx+FM|$zMV4&N%JC(IR zM!!Nv%zPb#Sw3o5`fx_xT%3L3DUWx9=b4k4LF2|x$0pq3H(_8UfB<g_)T6NK?9t!HDuw-0IPI*RQuXnZ==+jvQ1bhlwzX7VWn1+)vR(kq{6FqghqMgR^XJb@tQF;2zac$jV2)L1|3r_Ha`9>ZcSDVIZ84MJjp# zXD7sSY}}GvEZRQ-mUq8+vi+iQ{P?R>v9y9s2KFW%{@oLHyg>S+mNz~H8ig^NzN`YO zd^Z>emY>Re?UqMowMegD56l{J6U5pY7}}z;*YzQIb9Uk(Pl{#}Tr>08KvB?+#ZBy{ z_R1&8rbhF3%i4S6wEBo{J`f~=2o>-!(Hx$Va3ua6eQtRJk!+bCx{Mnj{wTFMXY z44YB}eF|bleEfAV^DCC-&r>4e_Ba}o{mQ5et zte~D#_q>np>&h`JF^!Ek$IMgJ34@x@^wtKwEU|`ft$V1J_3%cXhd-Sd&JWcfMSB>T zsMVO2j(=rjlB&m zIDCpUw822k5Yi;X1%9g$h-%<6Rl* znc-r2PBbIYp~zqIyzVwfqjf%^d^0sx?!&NIJku}DRDhp<-yi}h%@-!m81mvfksz?! zh-)P1REFsHG^JmmGT?Vl4pRKf@0hW%!#Mso`+wvAzlme}cm7WkxMRk3>fal--wph| KKYmLF0Pqhg-V!+g literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.17-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..8d78692c145e61f62c98bc756dff1c4ea324ffe4 GIT binary patch literal 2268 zcmbuBX*?4S1IM@6-xd11%~6CQqsS~P%pDbKj))oNoXy!r{T;bB42>L>v&((oMj@?S zGyj}@X32dOMTqj$^Zt4D{C+RKpWmC`>#waf7q=nc7(fVM=6B$bd^^SVkOu%5(E$Jq z0RR9V8ybf7f)aiGa9AkOFU%Jjh7G}ELL#7^1iY7Dm>&TT#o%z7p#&TnO9~={grPAZ zp1yv!v6}v&1Uw%%2;d3;!~g)7$YdX#L!IE_(cxx<;Nw2LpYluj1nPCL0i;Ht113rj zHak|_xS!_0clni78gsLARg5Y1xzWIUUdr)iotR~Cddup}M*8rT-LnC>ubDe9kNK`iyfDwJdO|G_d3={b2Xbs!$gxr*-HnXiR7&%nA{c zDwZUz;r^YTTPCEha#B?a&K3QQlnr=Xg@S+H4A*i+6|X;IAD>6$Rym^Z&|H~Vyq~oc zfBUlfb)N>Nv1Z?AnHm$Q@IxtKam<%{RJ$ape`Ktbr9&r$ly3J%DTx@qY;J}8vcS?v zQOX*dSt>3`(Vl*e@~z#)CH|vWsRwbEX7^Ok%CF|CWwYQO(VE+`n%+Sp6sp=Y?}Bgy?X;C_ocADXL` zX*lk`I(Jgr+&ccH$>V!OuMgY{Idy<%tHl0`bG0RouprT zNLy~nV%K`%O69iVi_UERI60XWFoE_0#H!>%Yzt8?(}Iz$Q}3vKGamB;zqAxA!|RR> z03?Vl+WcJoEplF9I<=bVwdo;t^os8~-;^TDy1Vr5A<;RVfxjY+;=vvDzb&qt^-l`z zn8h}&Pth=<(MTYe&9(h8%}PSynW3S)^@0w{rXuD#PB6c<(C)I)a~?UyE|G~nL1I*@ zt8WlrH^!U|QXUy56B7-sOgY^7vy58i#G|X+LdlP6%Pr)Hzw(smv_`h|;!@g;`XFny z{PI$h$Gxic5^W?gm6ZD*yYm~yXJ?X>)8U)X#dfF}uA3y4C+}Dbr&4`Xb?u(Z3;68v zRpVoBok*xXm>~evKEGh>%nC+z-&nuh3s6YAE+;(Rf;u{F5v;7rvo#1eyDOMP$X1H8 zDeP1W9nin8H|jAK^{|I;ko34KoNsNo#G8MH{sTv|CBJ>Ve}id$^ftXb`hw117lm*owW2^^(*o%Sh$K(Qx@QnKGKS19fr4^`?3F~9%q&+dk%@HR@xk)81&q9x=rR8zWqYcg9%(p8L*axFh9RYR*F@OW7nT*IyZ-* zNr99>CEhTF49OihCiuaQ2E4d5oY=d!KbU1{CkL>lX-K=gNwqQA>T}T&iLL8_E0Acq<70>$y^v5nwC$e}{ZJo4T7iE+^k>+D?ym zVL#09oQsmvT>#76D2kYv*XZOOa+f-e0Jc@AUSj1wLc7~YtW-{8=CUYyIhL^4<#%58 z1A{(B9enHi^aqX5%w5^s-Krq8(n<}hbJ~TK;(NAC!Y$Zy2h#GXEh1~6W&#|byKt-0 zxY_F>x1^~!#Lkg5os(<2XL47iFrhrcnOe^_lq`%`=NE!T02h{;{;sDRo47W_XC-5X z;`)@J7rlXP85|pt_it2J5%$`N*$TE>s3b=n;2UwhSZ+y!UC3ofgHAO3Wp>?L#R z&jg+^oV>_PnmU&u!}KjDUUSlb>Vxc&yoHnxT-I7V`VNxYi$QFTcAyI-1zgobSrVwX z)GKlo6e)(N-N}>@-`PbesedM1`j`)f&Pn>8RQ7Nh(afk*ro8mYkRg@<+?{GH@bo44Vy35}Tyii<~D0LJO zdp7G+1RdWvv9IphXz-)|zy|ZlZf#KWVy-raT`tn%kP-up8`Ia;_1F?>t~i=-O0kMP zcyHy=yY(F=_iLW{(AFAw%#iDUtHp1-_-|r>fAD{bhOIT|uRk}y-wpiDo4kM4e*m(| BDDVIP literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.17-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..c8868f3f95262b3069e1a047455fe8af2a306827 GIT binary patch literal 2171 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.2-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..5530c754770c38f4c9c042dbebdc96e4df117cc8 GIT binary patch literal 2166 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.6-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..e9808962f52e9e4a1395136a9d46bf738d05c402 GIT binary patch literal 2259 zcmbuBX*?5-1IFjxCNflx+-EY(evT9ixtE9>m8;npb54XBV!2bfj}$rPOy$VYaxb~B zq6}rq=DvS({_Fq#|LXrdFP_iy=6UygK3^*fHg*Jn6~GI)g59?Z8X&H3asdDpZ~y=S z004Z^_#m`9G{h5&LqkKbL7vbcbfB+WU?>#j=j)CQ!ut6_-EcS+ydTa5eb3)7Fv!I% z5ao#tMyq(?{d_^}8~`T(AQAx3jf?YuAHV|&Mh5CH^5k{-V&y)H6O*rt=qbGBZq^iN z2{2+UsAWF31DUm&KOS8Bzz`f1TB+4DrU}_Qz7aGHNNHe9FQ*Lb(_J;8|8{;b(0)mD zidVIaQP~j@a6ykb>Jq}k7iSEl6q8R?3kpwXop>&IyP=6jv9zX9nRCthz^sXrU6aNW zT}Vv-wV8IP6aMZnRimbEUVka40~4Dv!x{Km$|L(ZxOjjqIc{q7MxJW7;P z;+j%xdqob`jzsZzITz}|-;CM+SCo3Z4meagj&0d{;9E%vw%7F`UnOmi)IfOE8 zbHhVUwXUhMBmr@UaHN3gk!6dH1r}GlB?mX^PKP^o5nq&phpO13k2CCyOPsv(Oax0* zr$!e#I|wa8QRUy%NK3l=^R8QBt;#{)W*D5hPm&+VZ8Jx>+GE!-r+wLwNF%D^=+lIg zKS%1OAvp-3PizX%v2s7YXdYK2-f(Vcz`iBL$A&5KP0xGz_zmhx!)Jn&hltj7FD96< z6B^_AYLfx{k~B6F0!BcQV`@7m*E7&HU&%SXsoL={ts*T!_RKR4oE;8c_Gn)|5|*Cy zb>`p4ybVB8=e}M@cLs;rRubF-z7QU$k>yi#oufM(Mqapd!z!8@VK9$0+-mZ>q()cF z5@Wrg@#sb!txZ8SShvrG(aP;NAF5W!uyiFG4mNH&g zLQiL#Eq>OB4B0l52y>#4M<2152Ec7>T8xn3Q%T>Mfqey4z`bxXlSIFjQ;$qmM0AZ9 z2!m6%2l77s(&~cE)czc3*q`$olXcdIRNv+K-b9bfXTf zl_kr1?obx`sgyKPs_2P`zJfZ0kW&@r z=uD?{d5ea(@mjgjrz#t>gy2TH-@B4Z0qTfpGpzHeNdHu7gT~caP-t%1 zs#Hwp@#x*0E60Z4K>wYyaGw4#8`XRUfm`1cQ zIb{$D7w9AnJScb_)y-zFI%N+wkL4#M3Yoiaj`k>8A3MA3@De?)$t{oM7c^OwN@9dMH+XhlKON{TUIU0pjCb`R4)zD@)w1TS=M{-4KT%PvM7Z0s3rMV_zMw{beR%c zBl2vP#CxqOBUei!gy%m8_88qc%SRb5vO2luvIH)9mb7Dis*0Z0S&_j~2(E(44`x+R z8FoKr@Fdwfl@BF&DvUH{sl zd_^JO%DU!lvPS*6h){mk(jFot2Vf`psHFXugP9;_!$`8=d%EJNoCD8~Rf}ybvHCT{ zYIwCPOSVjjeXwP7STk%gH>2J;Do(;CANXTCym86r=6LUIi&Jg&$;AO%*7^Bcmj5_R z3Br83rH6sZs&nG0lnoI3=p5{#qLmI=K!XV@v|SI1uY9&wWrFauI?4)Wp035{VvB*w{c@n5GG;S zAXZ_|m*`8M*YIT>GiVSy=c)>ik-`JBHI8 z-=nw7Nv>w7H_^%>a{>J~w7giP=oPTFn{@CYFS^@vI{{X4|LjM2& literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.6-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..07f74ced81c324113fc9e5d0cbf8ba33a3056028 GIT binary patch literal 2163 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 A3IG5A literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.7-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..907b464b2171733246abdfe907bb1b03cc943692 GIT binary patch literal 2257 zcmbuBX*?4S1II`1wn>|ue?>V`lfN;G+~tVmKFYOb*v1^2D}Psv)P|C1IZEW5F83`r zxsO~8xo`e*GfzG5pI6WC_u~8cz4^WVni!s9(*Upnz<`_BLn~O&f%zsU0FVy{05kvq z00BcJVVq(9Zdi8=%pXf~gOM;k1e8x84DCs9#*(m}1Q^QQU5@DK?uZHS^7J7&qI}S9 zSU-#$j_66?W@87~0{~$FfZF57uJ9wc_uIa%5>-%269Fq(D@LZ839CzgI9-W=RC(WG zeOt62YsGC)cRRLwqk0M2Ex1;st~(=WZTktT?;TgV#8{2%I$U%@!1fxewUKYg_A%Ft zBjt94A&!^yd=dd32OHuhe~EvSIFM5f*yRDVL~ zaCB(m*8zk_*-jZ`i&S?7?Xke7N~3MwK0`t>YFbmY_1<6@0fImv8r9(&xnb{f^qJXR zmZwmnxHT;9o?YYgnxg|hCb8)ipwH1I#yZ$Cvb|us$iXIVGFdT>blokOZBWUOqK|lV z%(>i)k6W7VfDeRO-Z)O}Bya6)xvavAT=dSOhT@Oka$L?Op0$Xcb%j?JIN1Y`jP~m@ z&;C`CJb8HGHfAGY)a(8gpniGUMwWAR)|p>tupd6=bXjQOA!X5e5h+Y_Nkbi>zYGMd zr^YJ{k;U?-eCdK_KK6TDz^Nwvy^;J;Yp!UX;Ot+m70xUOckkPoYn zmzkMw_S1~LoNZ>#+%MiJ>mz;B3;cl;@FAr90hN(>=E{q%D5K-o%Qn_z@Ptbo`X(OP zTQ8xV`HvWVn<6BhdbQ*0aIv)18bhG0w^U-FcF+>dJ(I=VfYPr)B=8Biy&)t8#T`$U z@qT^;3o*rJ$K2dj?#_HOfFM23o85(T6>TD1On5%}b8t%b=|+h`cGJ6jM>fPL?eXu9 zx>U!x>RakpZUCbSQCXC|t)NTb97NKT%C`j{dyI$Z^Yf}OVG+_l zL$ssR<>(d1!m048vp#J~ih`VxvR@CMNd4d|KT#$?DZLlQ;~hd;PU*!gLE$#$1#NAe z3YQ~KBA35M1s1=@NH9#*a>S;av0Bn9+6Yl8O}v-7v0bkApv+`-=}|&>e@OT1A-akI zr}CyHljhB8<4nBrl_ozuWYAv^qE|#ENv7|YYE2@CxEtMkP*=<z#3I z2Sky@dA|3uzJWl$B5FO@cWh(9dAPVmC?l;WIw2vyDZnjrycUun2^aAzu-OgOc`d`U zFZxMcG;9;F6_k+I+bOe3qX*Bk2XCl@m9(VNtU4d|%-rQdcx-uIWTrxNQLJOB=jo@P zgbWK4Q%>N|5K245MT|SAv|Lnr;+-`1X*n4()n|E3VRqOYIS^38~1;=>TZ`K%Q^kY`tz*yGt*VStLt3L>GjeEelZS!69;hot#^#_`Tl z8U|W;&U;ezwkas?*~)Q+@DjVatYFPTxU6eysP6Kuc(I7OLYz_FAWqvWcr5S+gjDAm zvn4hpx{KJiA-BrY+d1a90xj?v%ry{RNP1h%HlyMY=`u_-3F zD#-ToF10k5^V5o6vRyoXNa+>sPWt+zbuAO1?JtNkb3n>{df7^Z3#2}g&&%V|j@GwCB0{pP3!V(HoOY9pklA3UAWR264Y1?Om z`vZHhl>8nUS2G_~F-^7R%(|6rnyrRE-`)!t6Rb&A&IVfuxV+=?)60=P_f(0wuJ+5s nkcCy_)c^L0-%9b{gt7d=|7jN{hU^@FZdiWT<2Q}D{;dB1R~|wo literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.7-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..d12bc1e9fde7482eb0d6bc9027be48d33129a93c GIT binary patch literal 2162 zcmbuBX*?4S1IOpSYD**}WNtC%lsOu5U&+0g%wmk0q~iboyP7MTTZld;M>I#}ipeo^ zl?@lShXdV5bY{!5FzVNdnPP+)$xLpam*K z#b0M9*By~u_$=G4NFTOa*MvWaZq*r@EsMIkzY?~=B~{&YL?0qJJ`* zqTAdVw4bNt_r*ONnboPS{{r90r(xozo-Fp{dhrFIrtQuER*;rP}TTz@{k<8nvYG)BlEh{61Gfmwe4K10CYRnaO?p5G9`Rc+mCSPkede9_ct81v?`Z;y2#ljvzK{n5Cv3l<*Ih@o2 zhsk+v){-3%Qn|^e0-=Jr_OC&zZ(7Zkl#_EV^z5FM6ai5!e7vKdZcictw~G8ep0<>UC2NBDf(BZS zvp8dJbm+V|2r_OkdQbaqb{>G0vxBL80CqBQ?thJ0{`UZ%ZEEHmc{P#x@EUGV(H!{lme7 zdt*HTH}198K3zr!+#@;bro+Bob|Uy}Lf&i^&9@h`YasDz^`yEqA$r+GET7s>!PYM5x1hOtO(woru=HhMqKRT_nD0!y5Wl}5;F4cH0Ketsi6A#ZO3#V$a}S~ zlCIc6-6N|+AlCbb1roy651!#j%^!e)#D(nY7%X>M6w~NhuG_148R;UV+91cXZa12| z>wsntpobS$%7&7@|V+W#czot275() z;^YXcT5sj#|arM)b-Hf$TD+;eZp`Y8-5$t3VHClnf zE7jAZ)7r$p*;pkCWFZ*IomW1;K+qR0pJ_O5@=$SaIEt?|UFX`&>5rdPon@*Ac6e$~ z`b=-yN_pK`sNd+N?w z>+(*;z#mh@Ej#h_Sh#exn87@g*=#XE*N%5%R0mF<*n?9B84!pKdBjmmW=$u_S8kW< z*R4z?m&#i!%TvKGBByZ4siOs#u1OdlrJ5ekaE`;ag|$U92R&|%0k2}F$yiml-^>Y8 zlhm>IZ{ymk28Gr+o=EenvLCv<9`ePkMsYVXtsaxf9l`Cnv4728MZ$S`onL3o&^B#A8bMV A)Bpeg literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.8-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..9d2515b7126261e1a8fb35c709da549855ae367d GIT binary patch literal 2259 zcmbuBX*?4S1II_$$H%E?P?nsVU)XdFTZkyuINT|6(`-iZaa$DpmLaxl1 zqH?BKuG}QY(o@g-=hgH3z4(59Z+@@8_BO{ji~#Haet;R~&}H^uxoR5-08~N&03!eZ z5bPTf>Fc9{55Qo3Rq&X|0F_AJ@LHZ6Z%%^W&h^3Yb<>uy8nmfS(z zRkKS{-4#E9_8oOKjEjl+K7)`|N*AdCi+v{X7J;ufy=3;;IWVX9=U$nBNMiy$;}&B* zwtj<`XS&B_2bwRtI0#x%zO&#?u8?NN*81ek#tQ2=6r=FzyCEa zejiF!Ba%a1 z@9hZfi_!FgQ-Yr6TYf%V*73>gtG{rs+ke1t85W?Q6LqMufH(jA!unsretmJJiOnM@yR3NbiHDlOwYBXy zyQkxVqdoH$*Hj5MXe8G7$59E;iTx#Ej22PL>}4}rsC2ZmdX}H8m@JgK^V`DIj~=9Z z2abVOM=Y#)lJf|WC)Dhx$d%q`*O+O5)w`deboco@VtLC>$vDH+2)P6q_+T`s@Qd81l1=z1-FyX|vbUVMU=%P3TI zIEq-+GW7OGm!6VLpuM!CIm-R|>4<+HEzOlyRjf41R0aabhQyHQ8{f z__|`2$RdmeJ9cSx{4k@_#o?@TdwqEaBbKhi7U2C*%l$xbMCtAj$brr%15J_jZp1rS zS6OZHC6=paC8R*V6>w7YNfHrc%~PY@XxnQkuV1*D!IU#c25GIeKSui@k@QxihLz%+ zr#^JZT05z6hxq%nDO=N+ZOd+f@L4*dCDZ}6G5zrT!doU{KS*(#lpcj8kLEC$x*F;( zNx0|~W+!3xLA%VpL{AyA?ED<~x#nI}>8AswTPpEd?uk0T+|t+XA(VOUP4S5NOvauA z{5G@M1e5X7I+_baPdp8n@E zqWtF;>=V=+99Z#4t3pfsm2~5TCl6j0_dJuI*WM#MmaE$?N}9BI?7y~1ru1E<;czwj zGKIcyY1~I1S%CueSYD1(u*O-hPM${DpeR0@PNtt%oK4gBNAtPTi8)$jiSArz#>26n z0d{#)>o;1ZRkN;Lpx(4Azm&w?_Fe>OZ3rlfdn$3`_~yEwO98*Yh@Yv>ttH+mXjl!< zBwyfIKMy`y?wfA*6~84ty0lrKn-qr}*wdg-pDR=d-bc4c(mi>N2eRONG}ZnHb}KRZ zwrLMD23UgA_OqTT6ofk(Xuhs`v%vR&-W0T#1H%xVI9Tu#!*kAWm+KAWb&WK@1Dd(Z z9mVHY&DOm;3*2boVH#kdZ^6bmPlv`C-!J}__oF%aUVV0qw*jz9vLMTBC-AGz zHkp{pDD=`l${JojRxq>3IZ|^{0^}@=7~1=W(_~V3l1mg&%}u2ZAM{G(x@9$yUxt5# zB#CU`)*lu{?hv+w)5m?eoV#;f>|iZMr2MPNjPp8OMsGeA9i%|pW{$pj9|_0>D_h9S t1pev~JZW#k#%^@%e;dUgsrYXQY=7~8`h~p>C)eK_wm-e`hxVYq>p$Z2Hhlm9 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.8-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..19809e48431b8099f3dd3658c6081d7880234e5a GIT binary patch literal 2163 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.9-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..2ce14faf3dfa027f633e8a8666d8238414fafa0f GIT binary patch literal 2265 zcmbuBX*?4S1IIVHM($PQ2y>;3h~$_vhM6mO%r!Pfv^jbl&D`bca8%^TEvaN;q}*f6 znZJk;f4BHM=8S(m@1IxC@Au;S`MvqQ{#sj{V$}n%0C)k$*h2@qO{Ud82LRBo1_0;* z0DvGgo`CjI3ddk^Xr*v00i#4f-wE=(b63gxc90L2fV~~0y@OP^h60pO!3y-7bm0UU!G=8eIEI#pN6HFYi+y*SNR+8sb&cFasNGb z@No4e+9@(N8u$VM(l=!Ya7#IAPgE34Vv)IcoGTkYKhw)Ew8;fC3+3T`)!aX{G6I1Q z5$tBk^9r03(4_bs#uJ({NQd5-E2lnJ>eQl~O)|d5D#0bp`9F8vF**{TIlT%@6ynqBZ8nH;R*`&pdj& z-t{TCJ5tpPRvJ*AZ8~+he9b4LyYBk^4!=H=xA$dd!{JqDE|y9)0@w#Q3^l1W^6f^T zbGuzq`ifpXB{lwXi?-SIbWW0&4g3bpiDjs%??*itI%BM1kb(6B8p}T7YH( z469ayU-;=+oJAxEDO-OpuJ%SbM@|CZgS){r_xY>`m5tkl(PIOOlN&rtf#7Nd<1(f2 zb&$m@4oFH8^a;6(bAD*kYt3Z}%R6T;cTcXa(=?_^L>D$%zhGZSb@O?+qzX^0Y9Oz& zwe{GSiC8%jDu?Kemk^p-e4^9+Lh3N+@?1hw=zVrfY)H*y9kB6hlsqeFylYJh{!Dhs zGuucx%J3*;g7z*gW)y4e9E_+A% zfE-8A{B)KYzM)|G8H);PWB1ZQE*1DoZ0oxV_>*IN0gu;tIZNw}TlNC$ke{()gMETz z6h_=U^?XSiU&2%33Ue=4{8@$b>yDzQ)%~&0Ee(bdVK?^=KxN2{SA07kRm4bH>8Yt3 zF=gH}7(q@@Z%Rr_Z;&{E!`^(07PY(xuZ4yo?wyi7Dcsnv)TXRoOOd$HTF5on?$3<@ zo^3AK_#nO+cx4cq0S}=xs_^_UW!Gpq2P{(JXCgN(Y4eF1)M$D9JGUDBAxb$#(E$!LLpl8x)1_^Rpx5&KWhpH35& zz5}@CDvSVgaNwY_X`}{$lf+E&?unhoB}sKd#!C7ysq6>v0-Ftg&a{5pJtS{QIQwIZ zN+|`s(dD|(%NrW7Af~DKg1jVr&a-zfJ}$($u_}U~$!kOxjnA613Cu_Nk84nA(&~!! zMRs{y+Ve|<-S)yq$q-kuc~u)hPA=Ysx<_An;@$`^e3f^&v?ih@aM972?nudr=5jlO z9+#MyW6${3?isbwC2)N^tJmhG_Zt2jQ?unw4)|@3FQkpPLx-l1N_}Z(b|da|>1q<= z8nm4%`O#mKN`v}pSKl3wiF{UBASdc}@x{s%^F6H6AZJ~2kGT}hBkAk?O@YsE*lCT4 zoVq|Mma{!9=LX9BJ^AbNJ*%fcG6S8`qt}}nMF%NWZU;hriAFW(=b2TB&=>E$L zG@=2X$|5YqDe_klBH%se*&~tmh_ipwh$vXS;+_{t<@Gs@EJ!`ar-FI}yRr>3$lG#6 zl0NkCukosN_tW_WQb%#4mCEu4oS6qidXA++Z-Y@xZ*k)1*#(|HZsy+V!U!+nSUCrXLHCpC;xr;Zh~FQFtVSz6t*NX2Rd`x0{iw;T5HZi;$HWe-kVekW{OrztG9 z1T%cB8pqv2eJg0&fnTO&9F0<0BB4!g}i(*yXNJC!3V5U^THtAxSotXwL^oXQGwtpLXP*w zw}5!Y;ZchNWRyTv8OsSJy8A;AWK2ZqO@oX;mw@s-*?K|xpLhisw#%cfuV zYYzUYg(y9p5jvhTJZo(MWYIhIzrEtOTKqRe;2->-mSJtd#{TC9_`89>>A?AC{R<0; BDQy4% literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.5.9-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..787216d8318255455a98e2c18e12f1de8f015555 GIT binary patch literal 2170 zcmbuBX&}=N1IK?OIhv7;$Wh3BMnsH-5u=H69~&E6)|R=6C>{}(kTanq#L9h>C_0!N zxiTWR5E66z`#G%LS)$~OvP?zaRPv&DgYP)06@n3 z`QvdaK?EWRuM$M`C#d-2sbnlQM8%Ur#u5FA6tW7IL{jymklgXXHz`zqcP!PDKn%pI zUiYJrxsPxFt^g1T0PuVFyfybUee=Kc)adc%bdrfOtr9VbHYW|_=*Jqhp-sL>w*0D{ zBs*^NHjAX*wdO@wukg<*1JfB{d&k$XOTM()#fcSK4{HIVt@5X%*+?fZ#x+jua%^f~s9w)T*Oa5MImwyDS$ZGFJKm0jGFnPbCL%#7P zDtsN|>eC-e?=s9*f-J(R7nttdyTtV3$8Nde3NpcEx;{_zSUc(L8k}8c*}^&s`MIXQ zt-ANz_s*36*{2hKtKDHY41V}Iph-a8yV@PTa(i9VFy_NHLz6FC6H%&x{Kz(!43|rt zyIgw5#b?$Bb@GiFSC>Lw*pscT1A zKlsjhJr!H9XC|J_90+igoDPxp!X-K>=w?6CH|fRL!Yea{la(bKCcf-srfeZY($1I{ zrltTwkeWg4^euyp5~tE-Ptv?%_1KqXJMDh{d5?ChC7hQNEmYoZQ?{}H=!BOLt18RH zc-{e(d^W5!Yt|k+E*WO}P9&^7O;BPFsz0*`J$7-oja(x)j|k{4&ySNXt;RV{EE$Me z;3D=u&fI5-&5$F>E{V_^$^6b)1N zvO$Df*uU;P5X-9!ee}ukR|aEISF}XRE#TGJ{9O4j&ngJ-skt#4)QNa~F#uVs0m_NE zBf1tmd>;J>eCTobgT=q>yeZAzk3#=|Eo43Ca zv|wwzclEYtfYg1h3o=e|Xs8IoGI$@` z#BBFPf6X7yk$Xm|%O949H`fOnIS~$nZ-u}R?WewaWC7LmzSdF7-QxUWZ}6X$w&uCo z__&V`ORTiGdG=%j#7jtoIf0za3Tf@HpmM0mgL(d|jPOUXe~dw|vbLmc)HAUt|KzQa z$MuYrQB}1on|*YPEK)~vwzc*MxH7?YC;M`S+&7K>_0ZSmKAko)26QzOMO7nGSA_~~ zPs9SLHO?nhFngj!a6^YDlFpFbw-MwGAr^g80w37v6-rMDYTPeErl+`__+^XU-#HFy zsD@VYI!BMlW>sEouIuCi?IJmxVPv;4mr#DrNS!8{g1-5*b@I84mPK>Y3}-VWvOeWZ zoc?Y8<>eo9#y@1bPns?4pEqHR7}6MKdN26aoh`SAsEH8Nn0G|#{3u5bYEIW_h{#W8 zoM9OqM2%ZrdWo2g$Km?m2jxlFCdN&~>G)dV_i}VfMwf!wC(4h&+~C;UEc?S1J6h1$ zdi~gu8q2cz0|v_?{vxHoZ$sqe!vKy+<%!umvt>#Cr$*9Gbs~tVuk}c#z15GOov-M@ z85a%&KOd+o!4z}clsot;V#*`7vY*hB?puc(E4}ih{+IZf#hX)$mSXyDZt>%S_L2+L zRaRTEV}8>?=RrH;Ji|PGOoS_$&wWXFA*8EG{k;DtomjF6$C0E{*JFx1BWWyrf}Znn ze1s*RWn#aGcR(m9S9_7C*d#Aat}q5?3UVE7c6b^T+`F6b$B2#C=1Wo2n1>=NM~O3-dU40WGCm(d>JD3Su?$`{Ju#?9t>>MY}@gtsjM26Bfqi5>Mv7x++p3 zS8hDBqi;tHwYd2R3#J{`>#{ literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.0-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..e25e43247ac4ac0daf474403a4332a8d5790b2cd GIT binary patch literal 2304 zcmbu>X&}=N0|)Tm95GjErd&yX<;XFKl5=DXbHz#tqhZ)E{xT$LCe5AvQEnkeav$Z) zA_~deXKuO4HRI|3ynkLj-|vg>yYK6dxiKr7HoyY#0s1%wdWCbM_&g^7SY8DHZ2$lW zSRY^P1Nn!pI1jA+L!7Uxyf2nWzz|9DPM(AZIA5G6K_27bq2S}`VUP9q@+A7&V~9?! zI6tg{n~x^}%*GDf2Y?U&(0umHMfp(KJF~Z|N}cyLjext@crGl;Qdmo>g!_XkD>G#ZR-GK%hAuU``AKD%0>g_t>e+on{&&^xAjX?!K7i?QgSD!27{ADxQ@qF%E|kcw)v-rx$Y;`$jjyhvXOjI;?Nvv?&)lc zz3iMvEs!J|xqfq$>73IE-x7P|FnPIzkOt$8oqz4@h;`Dt$j+3>f~N7Pt`_i zlPA3zzV?ctQACL%XPe+#`|*at0ap%OJ*>_K<^RaZm`3%EvY_2M@U}w-^LJcN8Tw0U zfIL>)_)PR?eKV$O{V5o5lv;X`R*Pw0Uw$}*-MU~XX;3eG3HB_GnERY)xed*{usfSx z&#v~gDx{E~*4x+rKsu&Ul%YBiC3tCjPmomB72`j7?qyt}QOZ4dV7@oHlP1zB$&;$|>o@jyPk43b`;#hD<6}-i81=XFS2V)wTz?{# zI>0S>BUpNN#Y|Pm!1l50shb2r!2xHlf=uoH_vr-&g6zXG$^D$mZ`J}PTj=p3!Kf$i z!&K}gp5JC^+u6&Sc}%fj0>oEFUAKf3dUfhK{%J$AFLq|mOj z7_oqXEUh4tt?@$N@1-UEUouAG#pCs-!_&&QdHOh{ z_Nm5c{-E2Ni*JOw zdwXSEuZsxScoe}#;Qw0gnH{ZnstI-ZMf%h0{dG=OMg7Kn+E1HD6~H_qvU2~}-QRqr zG@WJ4fYh{)bepv}k8YZF!<{W}4d+D?x5RuaW;dhfxN{F19mdWnReG?t4&X;FdRDJw z9BK^68SYul=TUhqsuzoi4L-Bq+T$awAE{)fXX` zQY`Q@?WC2+O1ilJ)`fIe{dLpvAt|}X-^p%c_f$67`$)`I>a4T_)jKU;u4(y&;lr@~ z&vciZQ$YvXAuwJ#9^M)r(hZtYoQ=ZyMgAqARS`U)8h{bS^_^_ft#(|t^5V636cObw!z7-bk~7bPb3A%vrl+2CQ8h;nz`K$}L85Fr zgkoGlk)D@|6lST_>C#z73^X83R**bL$!jo!CfRD~(;JKIoIo>1YZ)~)RaE)KVC$iR z-2+AI*P?vU6Ll1t1o1>(e`gE~{9Hh4>xg}@q~%jVAT-M>PVoEPC4-D`<_NtvWVEU3 z#~!Tw>V1;Qy5n_syRU6aODZuP&dYmg8 zd09?gy!a&(MmYZg##}nkYJ)}>Wj5q%Xs}!Vb**-zu3IEZF15Vvu}TLTYmd&eKax7x+TxA*g8{n zE>+G?f_aumk2>+Urx>Wt-%x1x3IZm&Xf{W@gll8gFEAeI;FDW)M)3qYprsnl;8 zQ|HyGcjm|CC5lZFe#@H@a-nw;wMrvBm^(T3Ye{L}o^g?{o>f1{HqiFdPd-gvo8pCb z*r6>@Te8H?`B!Y7oN8)H2)a?2C8%DV$|--d5u)|{OZ;0W>MeqZ@a!*=d)O&b1Ffle zXVq!^-VvlOl!@*!`xds**%z#2h6>8NCKg!gB3`p9Z!*Eh8?^M!&e1g1Q<$UhI~YF@ zuZWupF$I)uiS3(yA`e@FLVmuC$~%jzo1U_fA0`J)b&=MXDMSosm$w z#)dGG4cg_;L0mxHphanN^FQVqUIK-R?GLuqC!LoRo(Mz+N1_bNiUdKErD+^V*S>W! z9QhE_BM?iU7n;YVq^yHu$st&CA=5emB-AO%9SVqx^MsY)x+rl%|H^wSph$CC?k qJm$tA7H!u5&5u6<`ENo%|IYu35p!eq6aU_T{uKXbAN_F-0Q?8!VN8zz literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.0-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..fd9e1d279bd9310a566fec7c7d73cda42bd4cacb GIT binary patch literal 2191 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 aOuys*WCJ@()(gL9n0`6%S8{-Uw|@YRa}k^X literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.1-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..8b4e7561a0d94288e98ebe1dd37c91ea78181790 GIT binary patch literal 2302 zcmbu>XCTxM0|)RQXJ7i;$)=2q2q!WQ=d!}#(An$CS!bO6wCTzgarVsQ~>}A0DwO_ z7>D*$2=l`Dq7}k0I4=bpI>_HGC_=#l>+gxdVX*!RZoa-(gR#CY=y8=BGO}*-MB0F_L{ENf}lGI?~U;FV(nv0^#(8 zwx5}{tj7H&nKKmPF3$}A=Qf?2WPUqT3y)D?R_E^8LDn>N$5lb>Z(UzpCWE($=i(avTp5pJ=L_o) zqzJ5?728JjPj9i)f%`q*;GdV5@xBuYILRla?F_It-+gKt#d7jRDS*JPwP07&<*1Ir z&5g02igSD7rdoTgbJWAd~K zv2*Pak9&h>x*(;yC`792mKy6sNn3mw=q$2bYA^M{CUvWdJZ9!`)>6r6wCV;bzfS$$xO1ar(TAou~!Q@~PIK zcS;Fmf%s!+#}>sepB>G)>@G&@b)Z{oP0#~HJj`MG3*%p13mw#O(*OiwBW}l`~}Ih-%G9~gDV^@KdR3eP2y@J_O7(d zSeb29$XAf+67)A{%Af527D^#U&z3WW7%Ea|EXIU)^@Ixv3>=lb7 zU5#I|oQ{orJyB4sx(1zw+}f(pMRmr3hT?0b$B=xnphZI@q9ZR+z|GcBZS5?%9hQDg z_m=?E&6+(HLV4ihOYF@;Nx}{W8rnvu-RVxCDXZ7L=4Khj4M9x!r6ILkpR$>nborQ` zk6zJh1_Enc?yK8syrB7NZ%_>J%xnvUx=LSJ(v5VkHmN03G$r9N@gBSMQ>oq6&15}i zh>>8xQD+V|RIY@0$RxHUJrja4K)~YHsU;e>R4z-wP9!=*iYFb55|>YarP`_d{DiM6 zdn{wJymNk;{MNV2**;OSA#}e?WQ{axvnw3Ho0wBCcz7bb>FQQ-QKy(XNIvQjO#>l2t1$&2Ltxsm|N#-5D$#20zQlC-R|`=YdxopplVMD|68&n0(6K zFq**EEnZMJLSwVjr_tzo8n;_Gjppw^W#791|0jEz)B7#rdsm_Ea&x(1w9ZSjCqv() zDOO$&nvvQFNVcykH9Rd^!~tM*c<9`Ci8^xdjSyR_-64LUD9fc@!vj@LZjo$iCMN7o zEK-teay+Kw)u|(QA6%i zy$O@U6Q5#Jn4Enr2E%|(>79EC={YpjF79!!lM>TNu|vN64_?%;R=-b2o&`hO)@>G&3EJxxG3hHqEew7gWikFS zrg3ABXj+2c{nk6KT(s4kD{=QLY%~~6PvU;PQO0wiJi?UPBJqtGkZNY?-@@q3(d~mT z$uBopJiNdZxpCFGH`?b4A{30TdPTP?~pbY`Hq=i(M=Gw&hw*uxzh>LTP?r6 ztp5Gbzo5B#B;_&B4|Y2~!Y1`J<>(3OW?8Vcfe#84rkCgB>61L_^@vNN*Die`_GrJ* z?;s#rqL9ra$%xwYW~@Q4e5Rr+*DmmFT|FH-@5MX3pQ3GUruw>^)ZY8h11ETC^L#Jg zDgW$Ed!f=)`H~8N#jlB9CF3xthNc{At1{xGm3H?XYSubi$3m|TTi*@4SMCv7#DjvpUQRPqPNn}z8<{UPp`h}XiC8`O?$L=({uh*XXSHBAEzv{i*WIE zb(u|1IsVLOY!LGvdWqb$-Nw$yTwmwPb(o@ebe6Aj@Y}kk8PuUW==K3g8=dNXiZG?4 lhl2h$KK}UQzlo#!cm7X`AWRvV{=K35Q@=kO^+!1X@E;NONUHz< literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.1-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..4a23a17ad24f36d01c58d5861d72d1bd92a7fc35 GIT binary patch literal 2191 zcmbuBS3Dbv0>*>dtF1Uj4~J`)q^Kjdh9a?Qg;F9)N;HxtqEyX;;#gHXYEv~!t)lj7 zsjanVV?>myqQr^Q-uL@-zwhDy`(D21zm*xw1$_WBfDd4Vq1#94i_u@P0{{zP06-rA z0N~KRB(w*}-wT69gZwchFAxb$#JLe4f!y&p4-5%|$AR3iSgxvF|fG3h%-H7g9 zn1^Vvw=W*Yd4Uz+0sw>o0JO>j zm<#Gp674zRou-MSU)#2Uqr$uOdd3uC2gh0-D9Cbq;Kc+1kNXjP&Rs%(rGI?@<&P^?p0ZVJj;>qV$C`aZDf8VU}OrQC^ zVXHL9MJ}vahq7IAQ{C8rwRVK`P=t2Q#E7d-?Q&+Y6AwNAJ4W0?prsXvdq^qE*M!_>?$KfW8mW@MOn^39pYVTj616|(bGTI4_x^L> zVV5eEbO1$5C}8_1-P<&wN`{0%Tn%3tz69)?gIJABjH~N#GA)&?(~|ZCTDd2pp3BdU zv^bu=Tdbe0Km{WS)O4?BgL0k7-D4(590Q?}Jzman4z?Wyiu7B1y1=EH1#b=t)}Yk* zr3-D}-g*AzY^Sm`GJ+uu zM)yr}jFiTW;k?KXiy1Ir>R0+qW`KAgSMLGxdJS&bE1)&J1+D=Lw=FVp?zl^-ia)4frBj#YAuYF zJyw;zAk5Sg0!u!@Z4PT$^wLnFRWNJL)3t473z(vVJo{OyF|;Wzck;G8Lr+Yax;NV9 zs>bY-QfXfYio0t_6}srLu%zUkx8zDlZz%I$wo9s{B@G_e)V8)v$Vm%u>r9z{l$P%| z&!C^LhB5isjSJ_?$SFnHbePaR7eMJ4|EFA;8=RC)OW;nHc!_pCir~xUT@5~20E!W( z>Il1a$L`_-sQUNP`+?2HJ{8+D@zmMWbpu1c@YZ?BBrH!xXTxaHE(SQE{>Gnq<(ip- z^n~vkKxnO3^7h}+97PiS8lg_=8%h?nU;FDG$wXs$XbD@bEwl#>WpKXr>-*9z2t!yq z)laJY+g=DCjb_T&paPeWp`p1v)i9`V?ZMZDVjBF2KuZ)4Ze>_B{`2;>Ilr-}NI#(I zkIkJ%nw(CTfaV1+3*?GV)Zg_g$h_|zTbJ2ejPJY#5{uk)Nygib6{TGt91tP*-D+e? zFGnbDp!QMh14Q>eBUJS69Of(@@z0w-U#8TpJmiOYMwYbiP4o3ob%leze~`*xFY^Bp z8oa_)MSg1BLx{2FKIg!!ZG-%{C<17t^Jv^2A|#|>VjR(rji`FQT zt+-JvK@y&y!zK>Mc4OG8qJ7)sT_#`YC6S?3iwOom$ngvMVdqCKqMXw$4A+X$<&HzRneBlF%d217{ z%XwJhwv$`IdM_(2AzA&tXv7jG{rYe;K{n>22uuo4^O2z;Z$IKVcCyee%`I@WA>pLC zCjaE&#<+f&x*waZ*U&SK8=P%woo2zAWc$};&*b5{M{G}@oR&9u`e&H-meoxA!_AWQ zirnHeml&UlJHpj^Cz>UK=IAc?s759D?-CslF+Bkhlk4m(y7X)??Bw~(h>fu$Tg3iG z7Wq_&MJ*}OmAtvr$+P0*k%aidLfTYOZB47V7@PxYnoa3&H=*kA1zhtBn6gzoKf}sg zuAl(nGdwquUT$0l;`p%{T;G0O?C@e=OLQP%B!$>G^e*6hbj|G?O7=O7RjSwZJ*2%2 zQYJBqZ_TV(hgqC=9q#xfT3k)NBkI zN}b{+FP}X?Oxqake5w9tfWRvYyF%6Ee2Mw$mk0LHSmYz-k2rJE=#FgTozmHArEq@JXU?kgbH^ z(8@tFzwGu@si?B;)lV;DV2{da1s(N)*=#*zX0C=mf)gYZd-)N(g#~*)yqjHh5dwDw zuIy&}gJ}if;+673QCkIkl6%^yWFh(UId5lShR+=~@jYGNDhE0B^uTx&Gzc;owd+;qyutwhD>Ei$eU|@i13!h}zX@ad Yh5yqHtjt*1e%&zrtj|yKaQs^T0_Wiuy8r+H literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.10-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..85c2999a0c21a011f22d1d2f5101687979e4884a GIT binary patch literal 2292 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.10-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..1c4f5f855bc63eb439cff69f84f931bf159ac7ac GIT binary patch literal 2186 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 Ye*y$)NJIP24aM*J{ocUewgCYC1C7Et>;M1& literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.12-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..2193205a051dd67dc1a6cc590c44ef987ec40b11 GIT binary patch literal 2185 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 bCyC)V{!c5gv0!HTUBmEeLw=Ek?RWYYdXE4w literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.2-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..2c59d3dabee1a7317de5a5bfbaa73585117b2309 GIT binary patch literal 2302 zcmbu>X&}=N0|)RQldEzxgqpLMYLr`I8Rixma@1VIj5))|eMA`|%xx;OTuE{>%#nnI zD91m{RYM1o>*@cze_lP`?~Cud@9U3+35X32umU`QK6cNh#dzwu7$*Q&DFXl;002BD zFbLxY3-QEyV_+fJAWv8jCIIgoK!CaW;@z-8SYJHM+1pz_(AOJ{3H9?02tqptxO!rP zG4fu4zIZOSW58_yhz006dtzm7JnKrby>ZA($O>aY}mn7UyRxpp3 z-xdXTNA=Ma)mqF}Xv$SmnZp@3sU^J1U5<>JilLW>S3X_B{R3OU(h>i*6m z%Ymg&>L_45;{KjK*DOPWYuV+?JwJ;slQbR0L+ENEeXf{yx_@b;>Erez^l_cJ6L3yY zLeh^~`AP-3vM3qt2s;N}+kC3Myg}4n(k=E^2@<*bvB^ju)9NtG4xC2c=mW9Zb%Q|b z3w0b{B&46MRUS|3j*&yAH4a2yNM%mF&-xB&UwC=?8Gk>y_w6^rb&5A*R&BH^uPMau z+Z_i!HUkWaeBg?EUmEFnBPy)9oNlb7%C$LX@`ONRE~C6Xem*`&&3MgLBqVeM=7Du- z&W@xOFly_t*>Z!I|Bct>3t|nSCvnw(6We`b`W30b=jKF1GrR0k#({hE6 z!kauZ5S0<u2vRDqMC20pfpue1Y-nYT;vT4{KY#Z)c;7+I zxG|c7Bq{LezX+rtJ8t#Bkf$kS6TurBurnS~T(VZ@S@I7V(+pX2ZwpRsA67&1vAg3VQjad(b3t|vJ!Im zw6YsIm*;p4(w1&JPwRg)WI4AsQ}aqsu~%Ns}5QIZHZ{Js=E1Ef~c&qanQtOQq#%*reDiw<^vI#W;-Z- z@^JB(AR9K(X5@R{u;giIL(VtplCmg3B0QH0mx zTqF(iRyUYo%=->vT9??Txc!7|`hv#NX>sm`OKRD7#IyW)+S(r0JP`e6)(ALv@P3!i z)Oz@^NgZ*%RKkDXP*wPQZsvq`-bv^J237s53y|GhneI1qq*J}99}DC>wlJ+Ww_CNN zm~!~u5VL;MaO^Ar86RSsNA{~QrggR3ky5P4_HXXBaJUM3Pshd02ox0QaqEfB7E=!% zA50a*_}lcRD0gt4J7qqDT2ZpZLFpNpuPYj(^|Z#^7e)Q<%6QOGk!0qNQ^J~)B~a+a zbEL9L_qt@Uu*w2Ny3Y)hjCtGC>h%9*mWo)k~i|14<3 zJyUh1?jM%R*MCZUjlM~L*(PF}6sDeMTjbku#%=zH()Y{B;m@qaDi<$s@{=^OZw2KLj6u6f&nJ)vES5lGJ?UU8_>^DbJ}%91-DA#kWj zx=@s~S^DVxiC#T7-Cjs<9lK7H`gY(Kor851Uaes7{lU(+22NVW&i9zalFW7r?>pgW zy9Eo8t=ozjH`wn>tF|*L*gw9Ds)hDm>3*hK$9)BOR#AOsJJ5XLGMnRhgR=NoC)&-$ zdF!6Z-F$Ztoih{BzSPfMpBBU@NS1N;EADYTUXG?z-~DZzF+J6J`(muC$V1}Sr0nZS zOOScDs+vvWED09XT_w}3UDOw#`El*T95@v{N?$Vjnm(~kYgV`yUEQAt zUc4Nkx#GL>!J>GnVl(b48+W1|oq2B3@tXqAhw)LTUrm;twrOXFTy@uXv<;GRE4N0+ zc$ZsvcC34T#nyJy#bAjadh2#BIP>WSUd9lnj>9)g}7D4vTj%WOEZ9-0CyOjuaq kp#P1JzyA1dqFMf(|C1sXCdb(Sy zzuBBQ=1#7Wr=IuEtLOK7@%{YX{9b>pOc|MA00saTzz|Kh( z4nl&x18`V2CT4&W01yoT+$0b@)lSqNl#C8F-QX09rGTTD|9*4pVxNWe;>^*)2VK^JN$#GhTa!Iz zs6ne-IIvIh%zr#0k#5LFS%R`HBj&>Wth!7ybX9-LttNCIwz#8Ak7wtYs{WP#xcBpz zWzKAW0xFj{l$d*$z7Qxv4Sv*5pD1bJ-XW>m4kV788KS4RnF@IaoE5D<ABoj-kCI&BP*ucX4{CfU;7mKnHuOz zOaL0#u9bC!L^RBfU2|KG>D{p>I_VPI;XC0WXNdVwx6xE)zNcGfS#WI?`Nm;?KU!K# z{W>w(i0N{g8@9Gyr-d_HCt}lI@5vocF!+nkhOSvw8MogoC{E_{mmQOhNnYk?R8%GH zw_&Skp4T;KVf3JrdNC7+AbsP_v;;f1=ElZ=yAKO#{S7kjhnz{jHWPgDdxy5%(5%Ri@2EEZ2_NJBgOEQQ}u$1co_4(C>+N|bS{SmR8YMwrRk-mpI z9H}?%!6aVhov#X31TL;z+0neliX&VI{)Z{H$nWHK4|l8=xeF>C^S1KS(B3d&qQiA}fZPywA@h zz6M_+^B7+&ll?4=qpWmbbs?SR&9!3e&%F(Aey^LBVBxm$25NYtwjpi!QB}!ma$+yE zUd6#t1RCke{v4J0*x5Mo#e8lFy8^2{{NV|ivi4yFZ z$3*Ks^vU|PHy`O$9hThAemLO)54b$I;;iNYsHWW1cQscXBi>T;$}t|*=}tr-ROai5 z(Ku)6H+!`l@x)6v{Kc%VQ1?ozq|G&o(&ichUdK2GM|KZPo;12tUMD7{MAR6{OL$BX zWYPA|L~Fd$X^}kIUW}yXeO|w(-acywDK!Mi&3OLHBWv5F1e8P`c@XG`+9k} z%QA=lfz-;4i>+dTme3&HtBsz6EkrEt^>zA`2nJ&f%UTR%SzAzS*qTx~#cN!b-a=W5 zBJx>f&n{X>2Gdd}59UI2^aRnfC!|7aD!ud|QQq6VYpA5%hO1~i%T~sPx%hU!>s-Ad zbpgz$wGUZV?Px(4J`b^AwIXC6aO?QS+6vgN3yU_+bikz4s}vTiV5*)l-@w?1MU-fb zrbHmu$rA-A^-Vk6vAR;WTtSlOd2KME3i|_=@0ZE3_w@v|NoQLMEfe{+`wkv#ZL<&# z>+L_YRTL_FCvxA~qA&GOV0fKD`U5bMzefw5nQ|*FE%z9_HDDr*{q`$+^?NP$_-df2 zFz9jI+wSca0m5q2Z+_31u&pM$hI$rR= zCu2-;xp+NZeDf8wu@vtD(n#F~oKJnztXmzU{QPuqGp<9w;Q|L9p-Ug0B|q_9q}<1M)W)9dzMI8>YKL+ zclFD~L*(O*zB4&`gwH3lRij&h0huKZG?L;J#B{@ zrV!P{nUdZ7Xd&uc(Fnru;&I^5`8wtB=qO0|2nq%NnBfT-PoL7huSDaNS^lOZP&DWM z_w)ju}^pD|F!tWEZ8?Nk(Hs?N9u2Da*%`ajJtu^I2L|bHQ zYU}dnXxE#D5f{TC+R%6i0=W3!lB`o~WoaPz9axk)w|$jNZn|gsucd zRBNvwDifFNQsFXMM>95ZBZen@t|okz#chnR2t1yW%>uH$yCP9FDenl@!kw-yjUr=E zr(U1iW7L1%DKtkS literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.3-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..c8a4854cbc48c78a1aefcdb6c6346ccc6e9666a6 GIT binary patch literal 2313 zcmbu>X&@7f0|xNrmTPh!LnKyBa>tw*iW(*4z7}JyS*~P`+_HC$Xu0MVxpU;0L`52g z-1GM$*D!?SdVBxh|DXQP^WpjSeEyl6GBW7`7y#S=81l$U6UIdbvjG6kDgb~k008hs z1Y!{GkYG zgo0O~pD#NTGr$1=hy(z%6B0a>kCg+66mpXmS5B`lQkEnU`{KT+j$92#n;Ktx0E~gy zc$jL%e!J^V>L9&ijek&hvr)%rQP}!X9luEcu6d2Rfg>NSI;%l`^>i3$6vR3tUcdKT zVPBNb2{HOeJL2in^*Mu!@-GCc`9-MNoVon=&F>dK-?LbpJzQwhXUm@8>76v1=rw!% z%{RdM9bAgNtn=)V9gp?v3R?wZ>`{UZOJl6mD_C@*k&jt*m<7rE=4VQhMBS!w z;KM5otn*SbC2Lh22_K`tM!1&#$SbKElf#+Ypw5MQp%UIN#7|#op?YPgC8|25o6s8U zPjj>bG8rSXi6?H}!-Wy{aBSH7@}4`&YV7nm)1uI>jb%%e$8N@@inJ!CJVC)TK5j_2 z7Io;yZx-DZ^x@JGXE`Zd$xy9L%ibmDD@nC3+v^cHH~Qnf^|qEu89e8)M6wtO@UnBW zJk_{BFhI`*tbap+x2lN;ztfU_N-Z$C34LD7zgr8ex$_dxPCM3+$W91&EJ}vg&UtE3 zR}TWc9MHE|Yu>y<#)Q}g=leF%<<`rCL6G}BBp4Op#!ro!s3c?)^js3M(e))_~0BLYP5#0QK zr7-$TGt645AhGaT zXe!1Pd|M)2OBe+WK8h>lO+U9_u3+%D#568iD;<~%)Qc%+0(P4{=84{W#UVXFQHA%9f6qz5!+! zD;?Q%CcX!VMV%N96)Jkj4tDDm7qg~+Fj*!u!Dq!TgyAQHhz`q5mm%wyf}H4H;q>gi zcM5R5nM47TffT|@G=YOJa7%5wR$qB9JockM@jj61qzRR^1xl64N!d;{A_F8u_zFu} zo|{vSQ$8%mTyK{&Ox3xV8~Q!zT^_-nJw9d@ja90yh!*W(lC2~$9WLVh^77GT1QDf- z5YZV|w*|jZaenF4kR0zAD0aM5=lz%}xI0|A)>Y9lhJ(E2HPIy5fQw_+juXf{*nL#@ zy-c3>j%t`-|Lrj0jNG(y>A;|#eZ8aB7?1JnicdTbLKbU-3==dJ%2NHH~o#?>}o;vw5KhOq!mHugd{XxvK3XI`H z@me%rWn^h_POIz+;39weI*yhG7ZQa`Ia+w0N)atOCPNnxECn8CAIZ#>HoP*>SS|k7 zitPe~~gQW*7(D~{7jewgFX{nfV9!&bZzNyB4R#d<(|ZJ4ur(ukmxQO4V- zzIa;1PUQ^YtQMRY{3U)>jTcKG$7Y%YjoOX#gvr)W3S;q5Kg511@Xr^L9bj}C2}?`K5CvfC7K z;kfx4VF?R&-#QihQ?Fg^D2Voc<9${3SA~~p+vCYJiH1__6v~!h*Q6Yxgps3Wsc4?8 z-#$e__}i?yDXwDAOrq%LYy3x%k;$ofBR0nT)*TS^Fke~ru3b4WA}XrlMhBZ<=*(| zG!gns?sFw>lE0QQz5YGTaXNS7G?3FCvk)TK7kQ~fS<<8rvi4WU+erkvox=l;~^&&K@$4*>8FrL9lj literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.3-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..424ef94f346129690f0310eb814d8ad8fa0de20c GIT binary patch literal 2202 zcmbuBS3Dbv0>*>bvx2I1Q?-iNqjrs;#NJ2L43Z*6%xdk`R@DeGi&(YwRyo2|Dxwsn zYHxZpqEWO~4o-XD@6-LhhyU+;`JVr_mJC1x06l;U07cTA(TPdqZe{>rM*#pZ0000X zh;R(T4-yrK3_?JnkeEOS1`!tG9To%eMThtyF-UX>#5*WRAsij#iHN?B4#RkQhxrB~ zBM}OyaC8VOkP+Yk03-kadKno3s(-77R!)t-(cvs5h9D*T#8R{Dh4iIc*$En;o=_-# zw| z%oYp3aoic9D~aQyL0MP6Xt8eltjFEA9k9$cRJo8LrwyKT`TAR)t*rx_BnoqehNo@v z*GAI(vH0K6!xiVU=^{PkpUY&=EmgW|h zo34?z8d1dG_qbs9?|N!t$@Mq`&Xv_yYD8WCNippcJ9EHN!RjfP8pv~3!G7MygoNYl zTmfKot|%HG-B{v30}Yvz`fCxq_{`uX3*XxGk1d5c@|pXtDZ|<;bT%e1r;(smIS?7N zB&pwCv?>H(uMQVErh`W;Mwn)A_6tXrCVd1}oylw|eZ4*iiK~R`UmuZ+4A8KSh{4+B z4Y>H19FU8bx12PhK8hK>15Kf4zyYQs#GX0LFC&(4L(i;6!(did^9tkqd4$P55{esg zY0?0S;R|C~aWdmI^%y!UppR9^n_%A@ow9dzT#R}QFYOtw!T%Uz;Gos;5V(n`J2H+H zungQFTTuNY*zHSjUe@TGUecy&3<%e}i!d^0!j?GDN*uJ4RoWiNf^Vz$*yZ*XZu+z@ zw$GPv7ji+myv5F3f=cQ#YE@Dy7|IJq9Tw=@qU!c3YW35&cE?9}CUtZV8nALrK zrRw~H`2VB{^rsYk{>vG6BC7koY^NTK>zd8B-_d^{J63>Mwjxr!(z>+nnKU+Cn2kqE zl?U{%t}-|#>VzwAcA1mI%+UUy=Sc#4ug?0OKZSp9uvym>)GHms0pz8OdlFE_%gkO9 z-J;1bi#B;iWBdYEHCL(kq0GG7dAcTL52j=HiBOc1$hA}P4IrS*Ju9_Lp*HvYZTHT_ zwSAXr@WGKV3U^PHsA`y5^W2KqYDBhXWbUd@^$DsrMg%>Rb1W|c`6(H`5sId;>BLRQ za(oG4O7_|6+?vLle2>MR5NFR+{km(=@+JVj`Ludo;j<}w zf$|4Y%R1lfj$@Nb?DDl)hWi9F@uS@6r^UfgitoEh=8<(T`OxyD0OBOPF`=LDDU>JRxRWF!izb1U>3CBLCZ6?+(vZ&5m+;!9t(0wGp64I~v_mo99Js1 z{bWXcxJJew#9?{GxI2{5Z_7f!rQA8SkL&G3j2bGPOMNdy#WQ~ltDa`5TRK4*5>W}! zvi9oMeoJLa^+K(aY z;53B1{NkrxJ!hdtzR&%=IG%8FGf*haT8C%1_}Ze1kX7c0`ybyu9v-_Oo5Y)J*_K$r z)Rv+YmFkrD3;leQx6BC`sDztYKTuNkj_F%qR+XPT9;ifbaO|Wjmjl_m(k#5un|g#$ z7#by9s0`89e?nE?QF7=r(T17s7R>29%bY^7#2R3Jo=NfwGwg&z#ThMXRHL-ccbc7* z3Gmpo4V#<>NIf#`D#~21W^MyBAg60{Wt!U*QI^~CT$s>C(k$I3Rpb})E*Ls!4gwE7 zO!6EpY(#Qr`D-bW=QFWC?vv8q-&L+^o{Yy?#GmKRyOyOAVNB;;=;S{#tZsG>KyP|+ z8Gq~Ea~z!~PHA;8g_}N9y6jnhm-gw4M5?vy-I!cR1?{G7@!8rg7JM{!;OiksxovfU zo&52&1DVBDsqeISxEgo(;VlQh_Egb_=LfD<%8*Mn8GX*B`DN%KI zvAEDM>r`%i_{j(L>OWsrRBt$?6esS}TEy_7lNhz~(Zj?x&JZ8AukURx&b%#bE$QeD j82+~y{Bnc;CV}oZ{!dM?wPa-aeM9%F!M}Kw<@fprVXz!% literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.4-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..d93ef0e632e2f1faa29db57ba23182cc317f8d3d GIT binary patch literal 2312 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.5-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..f3cdcf7276630b844d90465b342da97c90b21a3e GIT binary patch literal 2202 zcmbuBX*?4S1IIVV5MgpfWQ0+!Wd6_OO3pN<+%h*q#>|;3_mZQ?kt1s)%P~i8@|P<| zGe*I)Bn%q-dfCIC0U08O_VCUJPQumJ$;iU5E% z008iF55&2E2P0}bo+SmCh!dvxP1}nnWwl(}l0qKqFbDQZO>1$3fg`eH+H~uP4 zxQACl#48?(oI|;f+iFHVc(5^l0|HGIsNz3Am&;Yi@6gz?(uY8<%pNVb>ayof^7Kp@ zO!k<144Xeg0ik>|egEm}%-XZNOf>~S;1|{;HMI#g&K;MCY%yo9dDEd^UM$Znx}5aZ z%5}OuhdF-p(NnX{eb^gI_90b{%U%AyB9}*l&he&|d8R`SfyxUHVMhxMSF(9Qwu+>J z^eO4WrDu6f5+Pl^>WwACG`EP3%=EvMj^|{T8+kIQubqgeL)OBQvDQ}@XX3DFkzoRCO;i=@r6nuEpl>#x}qA*KTSJg_2ZLBywjHk22_NEv^ zHSAJ=l@l(=-5wpVpi@8zcoO2VKyCQ`VxZvaGzzZByNa)%RD;4)L0_A&K<*hbs~XHUtMA;=Qp&g2S>wvEI_US+GpNt+sXZd`Z{3o#WS1x2uD-v! z$$V^`bKTP{KVr*=ku*t<#^O3MB5VZIhO)HF!yNM)*jv)W#oGpJEF!_K@H{7DoB79N zJPw~(RWN~hAbD>sEC`?3)R-f*%7~$X!#7i-ntoi0))o1lkrqW^BoW)KR_&s*z50K$ z4XP9o85`}K?SrqTqP(e3fgU=vbhg<%2{6(@d_d$E;NXG|(fI6QVXLT=j9}nD($u-x zBx6%(d2T-*u1t>i?;SZtclS?1Po)pK(&F5i=a%hJ8VOqXoD4@l(6T>NlYtm0)E#8g zD<6w{(w8Nuc_l`k5mX|c5mVVIXbaLvl#su4)9;F5lxRE5cjE}S?TA;Ff-PuBON1fz z>b_%eyeqk@#O4;UEt9*|VIzRiBy`6GUNlqk8N8tf82#o8*tT|}QAO90r2d$z z4FZbuGL)m3(acha4ElGC5L6^Ib8zx2j`ipFL?t(Nz;pmpdn@~&PYZr&rV@Dt?=`D19pVB%%S5b%+=l0lN)0XQ&8+Ep=PaDfGxVzHd#IDd z&wjh^hh!LZi*rme#N0ca5hKQ@B+8DTQDRI| z|7wz0W7$kt3|lGQQU{(A2@$m_@L=5G{cAh^O$PDB(D{mQWbP+@*X#ywxwKX`wb8b8 zApwestEzkY95obe#;j@7{0XXz=NBl(YVWZ6L`veN4eV~Hix6jA)$N(Zouxs2$APT8 zw~;9%^P7?fz9@6g_o^{ADV&yVQ$csyfn2#lWtvp2-Nb)Z%n8$EyuobtM^uIzg;Hu? zC_cjzy{WBkB1WV5b3b;-t{``*6qk-@F(!itsd(EKZ27@?UEx?(or5Qmyt~APa#lA= z#e~iw_xk9-St0FOyf}8{w7C&?FXUX%5C$dV6w5E%MbtO2KdvDn)MvUKFI$0@Um2no zjw*enUXF;pzKN(!9}!md=SIGeNX^ewkq0b*_t$A4aFr~+3m|Y*uZGxP5;e44mFeg_d$B)wg_EM*$4k_HYnEv#D73Mv5 zQgVm5A3z)JyExM604zUM{8VT9n1fI*73sRj*BikH^;%0Da@k%64O;mudQjZk9)80W zzd1H^ncn(RS?=QK58dYdG)!cTF(|}_eKpcD&4s-*NwgM+!pyJlkKiQyb#&^$>_iYX{7`l)ho|k} zGNWY3ewg#5888w>bQPq&8P~-{UMWH)c5{?RcuaKq^ugf&4={ zFIHx~tE+D4Wm1Wp4y@2aCodxS=g)*zdB~FV2#>Jks|8l2%?tzYCz;LDc4O!FPxtJG p7R+w}nY5Yzw;23(ga0N5_y_-|CYax11^u}J{_g$X6k`9g{sjmA8a4m` literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.6-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..bc898c9df4b856e8177f748cb3f50ed3bd3f4a28 GIT binary patch literal 2308 zcmbu>X&@7f0|xNT6}hvKY3^5ZN0Qw4i@C3rb76C~X%j;3yXJ@-xx!q{BIir)T&W@V zi#eiV6O!D${=NV2|4;wt`S5&uKL4!Yj7&NJ1^^ep*!R>ivqL;pk`(};ssI2w0001k z!Uv(e&brcj~LXNN`P2 zw2W6cfbhAartWA(hKJLa^~GQW@GFquQXWSU$fdP?eaO;goqD|XMvpabj(gy5E$j)}!TVl{P>UL#Vi26jkDY>@I_V{9HKGe(pH(X}Q6SZo@r%QkgLj z956+rM{73mQ9-t&`d=k!mS=K3Ux=3prr9~9-cN>z&ybHKK?SpS&F_D><>i!wi}JjWPWJ_|#-7&`nKg(mf+Kr4klgpf$;5JMYO{dTsA5 zvkrJ-M@+2&2zGS`evagycJ^`J6y(RL1xE_>HJe@r^YZf0pNr{FQ;nL}K*Z)O%Dk{x zxO4mMnsFgQCLlB{F(6RTEMzNQWQP4DYFa%iVyaSuJ83GJS1Xfij~~ zBCWGO$9oyJcqXmK7`d1FP8 zatw$wBMtyO2@$$D>C1NL+)tt^%c+NAa-wH4%K6f02|?=I{D~mfe;nbCgl7|i1%^pq zZ#eWHCcIQEiA@i{%1190fA?Vds`oL0QbWsV&6qOGk_M*?isEy$<5``#)CFmRMLf+< z;qF7|K->DHL%PuieIRYBMxw?7Dz@rr4c z+w~QXUx|A!u(k+k_FXyRWbw+QLh<1_iaQCin!>50h<#*9qm`V?!a0j3c%Ra~cthHu zMM_|~Q{STjQXGx0a@B-SkgFJlv5w6eYQb-H4T>*n-$O=5fBUp4S(hazZf^3=#G_5vGW{WdRx^k_&?G~E9)PFlOGvDT2?&@2dCoF5}d(EdMqtw{I=a64J zELObt4N1J6Y8KqeB71q<`tWqbhCv{7_O4&K&k=G0t8Lwx8;Pe)$J7z025~t>Y8{L= z8;`ut;$IbUPrq(|sh0GDPq;1Fi&yFIkF0CMpqZLr|QMX_ku_Wd4oblB2Pzuu<92HYJ^4w z5xFFzEJ3+B#%^2^?s_*l@CvPfKRZIHrh(C9k-aHMgHxEv^p3bV`_I5qKD9&c5b$Qm zTr=3-nfK2nGAtOfX8##GH0_1t=~XDAo{lab17(Z+YarbQ79b7w^EAepC;D+@pTkaz z#y>%XeYY1sb1YwU+jF2b&y^JQq?LuvSJ-J)g1`9Tld-P$jBaMqCmOfJJfE#o7H1;f z56oBeH{hVW#L{0x@?+-D&zIVitwIq?KU&Yk;hz^cP(XD9Qg>cLrQnZm8$BbeUfMU% zFI%?h(xC&i0gj+D?TeuC{ZI?1>mktFglp@{uL4>>26bKI_v}~czx{*=>Tus0Q2ju< z6?Y&mci+jp(CI4+2`pzeHoaZC5%t!i?~$$_=-vCK23tEtbT)Z#VoYWauj>zd7JaLJ zNu%AP*Y0gS8%rv2A^U>D>!GfUQ=M9a6FtSw0D$_|8ou&st;uiJy5!Gupe#TEo74Miv-|&eAIv}Vv~BEV|XRZ=L1u%daWOcIDSl9S$<5u zP+8%%uh>E{a6{+!nvBEjBuB=|-v@Iosv;f8+bpwX(8XcILwnm!gh^GL$v@{K!-MgA z8=H^jEIa1652Gt{iB>tz00ttok^JiCXnwqEV4cIX5Swgm$*uvp!hAqh0U@>1(7Fn; zgSM@eS1_YYTsHPhR(T%I%vdj7Ac`o_GuH>-hEt7B-h~^Z_I?^Zug{}1*yok<>JK+j z$;5W50%)IdF{dMRd}c%C~=qVu6o(YY(HjQ%U-xXiO1p^f8C4T pwT1&3bQu3PL4GUbzljF^JO3w0tl`Wo|K0$9_ulV~`E4Bl;6KKML^J>Z literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.6-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..c98d697cfdea3d1b880bb37b5ee80aefc3d1c249 GIT binary patch literal 2204 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.7-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..d12f8432db0ff6aac2023a78e8d1173fdd4ce35c GIT binary patch literal 2212 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 CV{m=| literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.8-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..3df4ea88fbd57b565c5371e68376672e2c172a52 GIT binary patch literal 2214 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 AiU0rr literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.6.9-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..81c87bd6d580dfcc99d3e2322bafa468eb05b090 GIT binary patch literal 2291 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.7.0-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..30ad6e1da27904a41e09b255367771f1a2892394 GIT binary patch literal 2234 zcmbuBX*?4E1IFhVCPy^oC`VF`$TcKd3yCL|KIcF`TVyuV`GN`SOI(hW6YkNCHL~3F-`!$NCg0Z0ssJS z)I%KVo+2KN@kA-&F*vj$4(03Z;v1;w`oQ}h28Vgzt?1(Esr2xHrxPjw`@k3H4xal3pK|m8YkZR z7_t^M>?GTPOxjJ8`!-ruzfz%ZYbrj@DhDfGQ%XAQ;et`>bQLhS8? zONbby-=Zg+P{a1RVZp(x)A~}fNkT-h$W%5@0obvrd7g%_nxEX6qv&yEkMdK$7>!cl zZoO9Oq;cLcOK`}IL-;wY9SD>o#(gvesgK!dbgUE{MSi`{@I!FT=;$wmo(>4xrx92Gk9Xo&PeYy4r-u!5*$fvA_ z+BAy-FDfL{<@dF1o$^$-b&zup~88^$;e z)2LgN(e(wW$5vu18l73j|9Cn2;RyEC0!a@WFUFBZI%`?_b8`{&)lAo22cc8leO*Sk zmAi8NYEQI97?sBTfMZFO{{GwDx<(F~r+kxzte1}UN zOr%#$;k9aiP;Q5o@36!z=X2nDZw$kn@`t zRARg|J$C3sa%;qZMVk#FzqGAZ@ z7j)#)?C-q#Y+`Z9W9df9Xq1n66-*c3g(*|<%YzW&#(L2O1k`0@;k0nKLJk;ch? zWkFK#P9MJUE@@X*+1&;*dNMhTpOrI)VlHj^^k`u5Sfh0v}sXUX(XAGzoXXdZd zMb0K}Z0Fr^MnW5M;vq_4ZP=M1C+yb9{{rwkdPnC=5N*LL?^m3}3dmg7gV zK+cBM4V+<2aoUEm0sXc>@?|lk8MfaZBzqdn&RMv|wjnoL_H$@e314{mG6#2-KtP>@ zX1@)|TJ=s_HKJu0L9nRD$!o$Zn93pHTO|SvsXv3|zYA;o@PsaX*kI;qMou%xsXyl0 zsc8Z?%j3HY7jJ+P&<#=~#+)Nek{`CUsu+00O~T4S=xCSozV?~9sI*75??LqMb!-2gNT(TDjNo)QSYjyQ1P3y;o1--8J zUFh}Wbsem@V$F3dz?~B9#JMf}A==cC8g29B&|dJItCf&Nt%lWQa;foX&CUHXk&~Wd zP4E}Qi;?w1VXw7m)~9MUc25;GU7WzM^0u>5+1@Vv>CekHJmcr~nEmGu^{fW@HNB;9 zW|FBm2DqQ7^|joXCz6OZzFxzH^4JoL48ki^yk{OgSp)UX#!(c+hfm#;iQ40J@-+45 z`j)bWs>HT>h-r_s{pe-Zmz4g}&eW5%4|v~-dDdE`QGSEEoDd!vlE!>0b$pGiFE^dW zo#@oPwyNl6x$9-pyGm@qFGle|plZxdsbquq->!w&rB04nBhH^SXb3Hm1J{)S&3V>e zh%og?V8Do4@Y+a=jZjG(BS0!u&1GSXiNK|63gXy2F1H!SWCP Wr$$(s0XhENu>7spUutswTmJ$5crUd8 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.7.0-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..3c2489f425936f4af0a6af1071011b957787a363 GIT binary patch literal 2133 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 WpB`au%yQ!24e)P0|5BCp-}(>M8!40k literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.7.2-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..a9c1f602039003577f12ef140e5b232227cbaf5c GIT binary patch literal 2134 zcmbuBSs>Jl0>=NA5!td9Co3-kC@9lg2eRh^?>@a{8-~$lY|XY;29JF^}+>sWARvA0MygZPbC=V=YbBthYP}ccm{c4 zu%T!b-(Xw-7dr?*0l*^wFnIFhuI7nmV8L*IgC1`lH2^EuCP^SUh#M+Yb5pd1-Uphp z7Q8)7y2)kUZjm&w*}5t`aAD)E;q`?Jw~)2MW`W6#tF!CL{l_b}wV?-Ht?;X_2&i~f zn>dv{aUl=%2-4tTRMhu5I2b|_sS*~O&E|O_?AF+_K(n!5m^oxnj5xC=_^IEnPf)FV zzSwI~)WS3a^yRXJk4?E|7j?Ln@6hkxv+J--Hq!VBSs`{EGz%e|w5r41XSC1i?68}UxYM_fQgEqV7k|Jt+RRp<`FjT30t56G*PAmR zbQgQ|%Gq7ae-P7{N{<$1W_xVM!c8XTNUqDAEn=07q3r!PKdBC*wDi{Z?qKy-l+D+m zSN_-XElbnPY;}jh@Y2$c%#gem%|i1}Kb7shKeWpYisww^O*u@F6$DIj-IB*&GMZk< zl6XWMj9v24S;%#PF6+6Wi%zh`Ir74YWMX+ZfqIl#@gZ5{Fj_q6ar5+B81z zUvt@QTlx>1amKXH@kK@y7YM`3BTwYO?H%sA2V4TmCZC2C-SVgQj zULEf@&_)$Cz0+?+%>bvIrhQH6QV(dC=1!ZusVDsU+3f`pG$B^{`^&qR+SwPY#+D;i zQVB0>kweV!gIDI5x!S_@HETTQ8RP=?()HaRq$7=Cpi(W*nH;wy(Ff8?ZabYj%E+zS1ZWFJD!Qg1nH}@c7zl3Q`Ztwmu#wC{*%utxcYL zgSA4ew`ApmvS~fjq*s0L-Q0+=xm1$Yy0W?k%ntrXQl&Y*a>z@DEci9K9?a6d=s1DB3rYT)qsW!35F=j@oH&KdPNk6ZU z;@f3P;~Xwayz&$qmOPwp0#?0Wuc_J@XSj-Z13{)|y$4|k(StL^=)wi}jK*f`vB0g4 zkjDwGpAPtzpu)UpkORA{q5|v+Y&jM07k%)wOT8m*mZ+CGNULcFqcTSAS2Is*qEQ~& z8#J&(;fTEa8V;i3Uv>6;v=zucO<>DEtrpgh4v-!&Y}g1%EgjxPO2z`+#3wiS-gG0@ zv%N2Gu=|7;xi3glx0#Nw&)>Cv>pZl>>)}E&QD+{R;2RGhD*LEQS(@=HY9}50*?V&p zb)uj5Boy_#a>w8#U?nXQM=(~H36!u)c<^(e$b`DXJ zpS`M`p4G3Nz#Fb*YOLBww$)B-VAEao7315!!mnwWU@WeFsFkOPZ!g{S`dykD)3ZqY z+hwd6L&gK*mr9y-&Y`|=Y+V&h1hmVLb>uA(ty_|qqq+*wj|tI#J?sQnH6ZmUpTW}w zhhwht-^6R)WvW<+Ohbwn^Ci5$S4{yhL9?E*jLk!9ReNEh1mP7KyiTF{Hs8kGWBWdW zh)_~F+HR*r^ohQ)`6AvP+Nmh#JV-@K`b7+X00xy@byiDU3puj?&+X&yK@12 z;j7xisLEpoxlzq0@I+&>B_^3q<)-Ytxj%FzPab0%P33nG`hQN|PXsO8!3|%2O&gXjn8_Q^;XXni@V?o>wSQe)Op& zKRoFMUy<3f>i$8$6V5~5?G{Y1!2;c{pQT`)g_{Yd<%%=THZRECacl5L+`jy_ru|g; z&YASjDo3WemMRP$;gY^4W2pm8?#KqCBST{46dreD=|Cn$f{M#!OuqKVq;BRXx0h@h zR-W5D??})&F9G*WkD(?G{y=Xy5W+0qMG2^=y zBBYRjd;w)WaiR*Dc;VKg%!s3zoq`m>;KIomVfbo XD&Ec##PRP8%dh(X;@4mA0Ra91i^>Gm literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.7.3-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..83527eac7615b4b2536af7875f62c400cd4e6631 GIT binary patch literal 2235 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 YU;LjQ0k=HG`uB$EPyPQ8!v1&t3(zVgwEzGB literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.7.3-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..5fc20aa27234d66af216e9ed9e62c0e4158e8d62 GIT binary patch literal 2135 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 Q?VlTp-wpUpRr){cKQeVErvLx| literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.7.4-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..4c7d0d53c905d42319a430acb88093c335e54d56 GIT binary patch literal 2133 zcmbuBc{~%01IEWfxfy1|b;;goluPu`!g8un1qj zFn>HD3X2E|4i09;PuRV-&luW#wJb3typq?&SBLSJt6QoOcH@0wk9Wk6w`|MWp<9QPz-7NG( z_j%j^M(0ig zq+~{LaEH6w9b?umJzBRgb3VN%$*d^FE z5+Z~ZbykT6H-)e@3*Fji%e@u~HCw6%g|Hj*X2|F!OVY0)>jrsi&i9)cX6s{pXkeg} zD#TQ*%t$ia7$)#^SXbp&v$p&ju^GhPU5U~JzwWlZp7zxZ8DqRMJKZ+Ya#my`tUr*Y zs%fxg-ytVnWcO%2{Ge*G)I|<8vd|PDib)11-LDojX~?My!)!Ykvde*&1!;EQ@m2aX z;rSEF`~7NRxbyfla1JzQP;$AF+4$?U>*(C&+4JN2TazH^^^cV&z11Qfd26d()IQz) zA$ghkFb-0y?%z_$FARUXNPC-`XujZ3>8Fx!)u^D6QKt?6+q=SrH8v+jJ1aD&wGt|l zr$dh=o#u{`ozdMzd;9!sWYOB^ELJ_>WQm%M@o zA<9iZK8M;a{zVc%fiGhqBHAKaWt2UZ1dL}Iu0);av8NzMcSl7WW z6zx6+=>d!2|E9M$OfFu$ztXc=cKJu!;AUXK@%8%rBBcshC>qd#;i@6FWVIY#1nah1 z^Ei1`Dof8n>+*(i2Mrar+st83dBGR1pYP5SMdKY)t;T$lWh!Dfla`%Ky6#Qkjo@_F zajW9rL(&2U>V$Sx!{u1$*Xka26g_Yhyhr?!V)4|en+?fkh1b^Sb&wS%`%zifsJji! z#HG9D|HwJSEao7cY+B_b>;CW(fuRz2Cm0Gwd!(J{&Grc;JL6e(cd&j{u7GKk-mvnh zTvM!088Pr?IaMTDnJo7Pz5jGmmanCH(|p7dQq13Xp~+GEWFI$#;9}H1d(B`5%6>7R z+O)cj3<|%#6kdRkJEJ`Lj0jVBVsMRAt=uRhr&XkM8JvYyl^pRm;k%6E4{`v* zcDA8qwPeqJN=>;JFQI*qn&|stSI9XYV7ROh(*J2f$rEaAN~IQ#j43B%D;ZW{I>SG(6st4HQbjM5TO3MvHN7LfUm)%V$3;K~*eedl z7WnL)Qq#)#!_~*Zo}-_EGRe7}{lw>4lECQ{*xRx^Oea2MW0tpcdL-^^+fKO6;Y(SL z8TQ%Wz5yzM#I$D z4ahn9K+I~XXnkkJipEu5)#)3JsgnFvT1E$kD8rSwBz4vmDo-mVYW#b5q#Y3f-@~Cv z6dXJ4y9aawsU!6`rWaIr=TA4U%%j|TA!$cA$x%VBw?T4`w%jzV%=S6h6vPE~Z4tsW>pb!CK=+vSz1#t9_Q8XD4=77Q)S0E@s z>7A{J-D52IyzP=TM#a0^mMdSxm&Q67Vg69yXxuR%^2m7V<0JWLV9vm#^9#dCrIWlf zTRTBNX&awcVIiW3woU~Cc$z1-3YMWd<{jyw>4@hOVT*9 ztk#`Gpaz4Mm2+yXAl~;^i#|#1CUB7$@`xCfqb*%kUS|g`ZWQo;GyON#|EmP9f8+lo Wyt4xj@4q!%za9KLnZM5i0Pr89o7_tP literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.7.5-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..5e78204ce3e86fbce7db721f13d1163dd6e7b48b GIT binary patch literal 2231 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 RAO3s8^{0M+h~oXb{sRX|CD8x? literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.7.5-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..6766fa9bb55f4b84028df6225ed3070f95dd92eb GIT binary patch literal 2131 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 SV`ck$!}O;CfA}xQ-}N6Z&JW7~ literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.7.6-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..1617ca94df8c0d62f8c409e5a0938e31e5ded2fe GIT binary patch literal 2134 zcmbuBXCM@e1IEv~?0LLqDC>9+9od{cQfE|@KV==x-s7y3aAn7ZP-aGD^PLrUuEzt|kltN~vcPw!wWLdl4Jd`>f9%?@G&60+Lo2Y6<}cv zq1%u(W@OMed~fwLod%F3HArbd@(%DRnXEo`FjZIIk(N9onS|X)#n6PNvdLp>X; z3df!=jmUfgkw%cOtQu{z?c=Sxh zNsFKtJ>)I#gF5=&B{K%}=~>?~6%Cch+7U}{v%TS+-j`w0nx8#HX+)1Lu%Io79bRp5 zQ%%^xpw&ze90vX_HI}$s>N{GJffnY}&zK8BgI~d3)LxNbD~wjJ4Ue;oJX5y~A?~SC zY4M^T-tY_5&Ho5saLXbA)n18-m^29Bs~v?r<8-SbFU+XH-AxJRP!nz?e0xPB5TBLH zj5v6&;NsiwIthJ7_+01-mAm0)lJdRz!KEEF{8RpurL*d@0rr&oLqUwM$K@iB_^R$B z&DIgYmDpL715V2Etmj-2VC?p=@mJzA*{Xtf)}=OyW(+fcZ@}3Lco#{*p5n@?uS!D( za<3h9o9wT#BONAMj-^w)JMthy4sLO12HqNCBXicG(50wrOmyx9_Ic@R13f;xxc=+7 zs(o5I=k8s)XkN|cdn|vawwp81PmE7H+;u3&KqgQclA}_!7KGl^4y~v1k-ODLV(wHY z;}^eN9;ky^_2*F z?QQgm7Sc+A9xLOsj~fmqpEITZBcdwBSLb<4;&Ua5`ylc-8HS5Ic2}j)_#I7UnGQ}c z&xW}%j4}NUGO#F(9hydGso11phGZVW*tAWS(p$Q4t%l{|L86iIPlYt@fjN%2I`!fm zm5PzDS!xLJD2!Z_avJP8B4OjIkgQ(g|82QyklGfZJUy>xYBAr))rD!}7^j5T5@ui2id|a?SELM0|~_y*_7)^PItaHb12W z<$K|c7y>5DsC}A`^NMrN164I~Q*U>Mkq>-p&=EIl=7LbLCN~ zx^rp2r}Mktp+%ny5p4g4GKfT!Re5nZsKQ5E?a_lIF(=l;hFNh_(#w`rj7-@BvRfF_ zXN^5_myR$3tdg|e=kDa7*uj%4gkwXWgxozjsW?Sqq1Ox(L`XMUq>WOt>^vHBR4zp< zz6@-Bm8i&(A|6cMrn76ZedKN(w&Gu9>yH-%By1yP`Yo9>4;T4Q)8*TfT8sY%cS-t9 zT^0ZFg{z*@gcJ8`SWmnPEO5ft?RTcUY7R9)ceH@o6a;2o ze*qm59ah-u&avVjX6H*SAMaRQ;S%_is`G{QsyZo$BKRmLRMg8iisBx@gPYYVXUM^8 z=Up*X%uEswUB_3xd-9;>IrCoSR4QdaU)J!VVmWVoBKbtvI=Dv5|EC#SHenh%5H~5s zh`KogHq+My>LJVA)x^|DbH(nD*Lq&*o7~&+{xJKLaAx=d3b3_iV1zOKZ>j(B`hSCF a_!s}D;%%*2fd9@g{As`+lK#900N@|#e*b&` literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.8.0-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..94aa6559b245fff3828d0193710c427ea692d5d9 GIT binary patch literal 2486 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 M$3A~j4*0kI3y_zeX8-^I literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.8.10-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..0100ed60d42ea6891126be6a9823a836c5206ea2 GIT binary patch literal 2550 zcmbuBS3KJb1BU-ZPHRLE3FXA9nnx6^C|a{dky5LOEr@E2(Ava0_EyxUv{WfEYVR(o zSW((qrPNm2vA&+~{=53#_u{#GFW=u|s0U(D0q6l%Ko@^(HgHyfLNEdV0~!ES001E1 zh(0(csmHE(cbwE?ypOAt56+ul@9i(;=s|G8``|qYQugldD58hEEzZx=!`sK!-rLa? z{|JY2BYF@R8Nh%w0E7X+&6pS$xf40B;*r5dB}iUB0e_{FFDmgK&n?j!=2m%Fo7Zjn z;`*Z`Ge+I6J4w{7_7zSl_eT9Ktp#p#i&{<{ujHnc>GkBn<7GQ}sl&c@b%mlR>sV<_ zBx;`rW{VrMxET@{xH_XQD3%DX=DakW&63ZFZE9I~hcQ~1I+|})yO=!z?Vr?|=+}4t zWHfY~^Tp^?Ad~@i*<#9{S+oIoJ;IwHFA~oO^|T#>9yD=Kh|29>mrBv+9GHh9XjN-r zS%r3C+ry$Cv)um-X?A?r`2<3c9R@? zYJ6uvg%c6TV%EOw>@a*g{fy1xatX2cbkZD``m?@UbJ#_aoH;9leU=v-cV-^TlfFyR z&STId9E776Lv5=?v3^E1dt1VXQW75@ZUm0f(F`SLL0a>ya%tJ(=igX_tEH+Nd{L*p zyb_LscE2tWC&sdM1$UbijwfDOmH7QS?3d)m};}O(k zM+|Ww#zR@)T#K)2?e>+)J?75dbOCkJ!|1rjIWj>^aHKA#jH$5rlNvC=gzw#PW0>^* z2+l6ietvk>xTL7y_KfU}OjAQs8HK|(c21NWQn!OA!mS*wy|@m>vJw%cVhkh?_y9j7 z#d{SkG+tz?q$?1Xbxot;m_IH$Wxhw;k(9~xMhw&3MiW))d&NU_Pb#^IlSv8C%jf_Ml3u~2U5E>pj(*wT1KAa`@=O|jznmn_E z@!?E$m<`Eu*jM&N_`X!mGRK2n!u?cjP40KKZ@t*B5|jsv_(>4?$Iw?vdk>zzi%AW= zWO6Q=vcy(f$K#Zd$4skMWKUpm<$OgGD1-@`gQNClaOi+GCb^ZxNIB}0bM5MVR>S$1 z{>XG9CjcA!!O2QXvX$Mjr znZ7S7;ALE3t|Uji|AQ|fydt_^C(W!; zr!p7LmGwde=v(_f8`Xp}|D@GxN02|c@n;Xe*H>*+5J68VmUO*dL$gMT*(Xb2(~prb zN$l64cO$G4?wx-Q>PbR41ZH+G45T3=>QlQm(I3GqgEvpcoP{n^*zIc*__(`X4fV7& zjx7ZW+)l~XD@;<_U=nD$FM4a!pQth{H10={9A;!I#4$bJQ#hM$oI8;cbBYd4Iia_L zq-eShS?edfDU}_&pClhP&f|kJ+4|#VX}(X}2`Ja-3ulg@1+$nY65rhg#+?&B6j0!qeaUJxCEV z2;Kfm#U`b@9U7Tv=ABlPWQ))8 z0tTS>lKAUVjxyX7H7h;L5FAEVIVS=F(iE5=8O}NtiNDgY{343r(+CLsMH-D#CGfdM zPD`7e+Ef?pcTIRv9;%#cTUhxBuWShtL_Fx2$#r%sgg9=39@u4uNKgNK6ZCz*i<>nv zXZ^S;03FUOc;(nS#VqJSi8#zhAZsnN`vqxm=qX(AP;4C5y#3Ft4aG!;YpjZqWoDE& ztTL$jzNVO2KKMJ03NIV6DM)vFgQ2<<$VzuxUu@=UTHCkE`4SUi#b&0sLL#%xamo-MImUy0LI&B=C760hFic8iczM5(JWqdtNY1S0*(>~nOHE*kvY z(bbH4q_z-aB}otn<}Zo`&0X!hqv0S@o2Ox%qbgZ-bpQ;yH(9b3JTHh4?!n!L6=f!-P-Sg$ z-jG|eBZA9A>Zu>#Z;fAZ%jS{x#MAAVppZR!C{DSVPFBZQ*5U+ge>i(J?fEw`8uD@r zq0({%xk*#WsWQCICt~r5lV$k>(5{!iCCcWJ!Q2B`AijrEl56;m>XCcb)|y9EUU|*@ z92$_XLPheErVY-$%_Vz$O+bh_9&b6FuY}ESyCegpL#=T&Nr$O|_DcbDe1L85<4gyx za(Xp3g&d_1Ys;f&MI@cvbGsx5@s~}W;ioF6FnEo<-7gwR*j~S~QQ~91A!SsPOSY3C zL(5XppjdZ(Ws$x-P!;U85NEaJ^rEEtvp@RX@M#pzLsrqT6F?IiuuJ5OPu0S%gf>1x=_bl`wJgurH4aK6*d@VrP60K)zZ)FVi=;&2I|696#d)I#xM)xoN YPX#m71OM^w4BhWO{7vF-y90p#0EG*&KL7v# literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.8.11-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..759017263c31ceb3a595921f2557996e4e60742e GIT binary patch literal 2553 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.8.12-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..01da79dc2ebe6f69fc0487187b357fe66437cd81 GIT binary patch literal 2554 zcmbu>XCM@e0|xLjL!6m$Rv8(unRUp>aYtl3$ysr@oa3C;Dcg$*IeI&?PWC2eMaaxf zCqlBaM^x4s|K9)i|EK@+e0aV+pMRF7bo6=vS^yAWf}+CJ8CkqR%m4tr1^}Q3001yZ zTp-dzKExY^M#_hv0=?w}kpURDfQRz#ei#o_Aj%IT?}kPz;QY`o$WVX3fIt_w0C#Ux zFjCKJyF7w+v)bbc(QyMqswo^u^>#pkZN8N1(;Ji4eL`Cyh zg#!?`3zFiX6CM_}`OV;(bkdb79)UR`Yc>y}v1Pf>+-mvj@zUE{OvEYno-fd;9y8Bj zt1)U8CG41ZARdrM1VCcyS%)y#zt(ko3eH;}hR9-pM-hwOY4x%r$R zSosvOpE7kh_Y&wc_RaUN^F|WRrPs@?m@=Dd2(0_$1liyU>2@h(W5dHxoeb0?Xy+<3 zvhV&E({p_lRF?f10#1N)2DQ+M@T?1L)yh1Bk+P@G8{(NbS^ z?7NcjE%VmBV-WHYu6)5b%^`U*W~ZMyz$? zc%*dDO@7xN8VRW%XRBelElWSZkK!xkh(ZVhrwdI!fat& zr{kkti)ACx7jtxhPX6Uww5h3yyjrJtPMH|L$s5eOWgyHI{F64->@DSvQahJW$C*=A zO+KdkMfng5%$D1GLGQg{6IABCznQ&(D7T?9fyxn(%XQK&h@q4$S{*ic>N`%6(jgBdPwV8^sLnCoHNPHxGAsRneY~2U zW8L)t_Zk>dQ&pl>fOG+Ze?vO6;uX>;9BeYIQ2RCuQTbJ???hx?*K95> zXB8vv5TYt0z-JR$3-b_m;WjbQ{O2FTiZbr}?Z+gdLLKL>QsDEn5q<^FXzZ;pXLRCbf?sqA7k4>K1b!N7 zYGMRFuP3a1kp#u75NDn2%A| zYE5Z(Jl=Q75QunDsXv;Jq~@(T`IPe?W9!XVj%E}27K&IPf%Ejd8Ic0S_boo6&OB)n zs6t;p{7iAWZAmQia=X{>gK)j$O}>+Tfc|ZW|1b5AdB#yf657Lr!?-Jq(a-?1Q(7@3$Q+Nm0 zDDpBkfc(J_Sm#-J@i78fdJR646i;`8wFRe4zR;x&>QGQUf08nCf#Xv>vfcgZ5iGsO zkX;_NhIdSa67?ru)zDcYddfqf@6@l~4_O+qDOm)k=M}Hy3bjV_dAqmX*XlGQHJrh; z3K2^pW7(C;-vy_vgU!kKxQb-eJz;Vwz2C`h_h3Q)b{%B0g>Emrh7C$yqjXFeb(FY~c7g6L@`+AkGz3-VwcTip*15L^@IVd{liI!%# z3{7Y3fjzYFB4L<| zoLs5+V;N@FTU$M|9GgRurXSh0(z=Lue$_xsr1^`t)G1_TG!HnI1 zZS*W_9@Rzu7S(nsQ?w#0zeL1o2PRz51)Cq06^34z0K%yFZn_N}3 zKTB>We7=nkc~J74)cpc%cU$tn@EcLNvQKC6WKCkgvG#y$r+q-)m^DQH0y;^!GzVM{ z*DDcohg|kk_bog_2cXNyJQs}chJP)+%nU=vQFdU?*oelLzQ2czPjy{ zn4U=JwZq`zv$JnP>p3bM7g=8z`)8J7XO>ts&v|^dqRxcxF-7A*P`Yw*cM3sCmgu@) zcboi*y4j%usF~GKR{K@{zVu6<5NaPfi-i`+9ea-d_4l@@S?6%ulkseD_{-%RkD`G%+i#B@!uPoKlS~yA%BDi0Q?6#^|U_# literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.8.13-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..d2f458dff58f505600914a5d467a5c81d7ad2f91 GIT binary patch literal 2552 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 W27{Z@GyHo)^Q->97W<2L0Pr73K)nV4 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.8.15-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..c168a72efdd2b1eb7bea43c24a5af97c5db3b64b GIT binary patch literal 2551 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 I&jG-H0M=`{O#lD@ literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.8.5-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..b61c2bdefb072f3ffa4c80f5c228d482da36327e GIT binary patch literal 2540 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 Or#^oc_s4Vqz<&Vhub&M7 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.8.6-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..8c2bba0d1cfcd826483af2f88ea4991b744e7155 GIT binary patch literal 2537 zcmbu>X&}=N0|)TmhTLbaM3E(AOUSk4S~5qDkSj+s%zYoB!%-+h!d$WOcjd?^$Bczp zty4``$}#t#jR#DsZ6!_XlC?jg}oRA7JyCJYl80Co5CgM|kAxuT+D8Vdv(yW!iPC<@tjpl0FA+nx8sjG)*=0 z9JCq*MK2_tDN+mkF)AbHul#CGm0|m#FA#C2opR42A6_sU*VV{kAz!h^vMI+u_uAI% z;%nrP>5F%9?=NL)3)HQ3rk}Tpyhq{#+5uuqswE1pD$X4Mj?roPmD@=bh#Y>(k%rZRn{hX9@_Gf{O!DJcE@iGI5RHI6^ z%w{3@sffq?LnS6kM}%@z@J0TLpjTp1vM`v>UfxC;5nHb&pg5PQBAQt@44$=cd~4(X z7}Qv2k-X8R!b*CpdLl31FwJ)V<4g|3B)cC>tXhaTXm*JT_Q;}dsRFKaa#$et;jo{4L*GY$LOpr-n05cyoWKw7_yDz;02h{yJSidH z>Xnt!vRU^+9iri$P|Jey(bt%4&qX)Uc1>wG04o=f`A)@+us3&Vri)UgYg+&OK=*cp zS4(kSzHz4xUhcFiuCnC=V}~t>i$63UGRG&h=#Tqr9@X)r30px=VYGiD7fobA4-wX@ z{L!(%TwzOy5;!l^2};s^37x9yCR0>|*}cT@MpUN}56iWF-s1ftLwL}ITx`&#TFy$E zGrDi3)+76LeC0+WR`3Rx^h) zq-#5dgO^5#5F0UG_co0PNsB>TNf;$vDAge62JO&ISfwTh--b&D7dD@MwI?m>oRI(PMV;6$4hogOnnldHcH`fyeU9mB z>3PWeZ7?gr(XI;%Y5`rlX_~#!t{ZE9F^Apw+Hd$>Lqk{y?z>u`0q|TvzQMJCZPlww zhhY^O^>*Z!pU!!rekPu*Ksorr1e|ALqIE5gK)7pH4SEUygX^hL+)K%|hB=-4H40f9 zeL29LR54}T$a*)&tpKH^dlK(G_pU8bK**kakv?HbF2^`G`d1XB_ToHz+F10~_aJqR znT@>Mvir|YjrH{F+2OFtJ2%7euYlkw2>d7+jrR`@B#K?>Jif52XZ=zS8LD#I2m^oM z;Z|doPT-B=8mHsemCcLxM~}UC}0}+$hAzALAF8}#Fozg>zcd~|Y_mAS! z7ZAHQV}|Z$ku=}lCmIb)4Mt6A(RpB3n{0j+KdZ`$q-{Q)Rb2L(d>|@FRj9_(rwrS$ z9s40o7Bb21BLR;fI8kNqCm6phZF^K95h*e^rq|@rYF=s}NY>qx;VWBLl!)V*_T0VA zC)P}d>J%2w63hszL(AjEl${ms0Bp5foNr~h!q9qEp>DGt5+)^iS9!9%%oY<`(~OyH z_n)E)lp9SYx%)AmJhn{f!x$7gJ0a34FKlmv!{~*CnaJu=_#y^HVL!Q0)%sp~+RjXWH z!?FTFRLdiu^Ie+xT^D~w_LK1S$VA~8l*eHFZ!m!B?6rtoj)=AbfX zKY9$Dhl#i`rxdndA0vRABvccgi<{ z0&{_m1WgIL#!hEz?3>dp?qRCu$ERj(S0Fo7Y*qqF1LCT;SY2fm+8sBqYQ;q{X$0HhAf=1-TZaZ)OdtLwL8riJoDuVh-L6BZPF9TSmzKZ5KDm63;}F zlr_mS6l{-5@wDEL$A30ry!C#glKdTJeZxr-y8|B@q?v5+&3N67pHF+8liRJ<3mTtU zuQhNb_2CtZsK~Bm!>Bxx0)gacB5;IHr0!$iOx$zpwRW_uvzybtc1uaYXSKXkYpj=K zXTSRcT*71~Qu#p@iTTbn@*5$>?g1jaR>r>(N9@rq1)pe?3pv`nNzn2Ye&k58kQ{?< z=X#^wF(lNZC+A#bpFcA5OcM=F#+z;rMY6SM$f?T_#U1vQKV^8%*4^pxAQbUdrrJ+N zPG1r?PT}3Td|)PV+qO}pfcc9-TCy|+fpuB_x3m6I>%X}V`gi_Mby=FS9sBnN^tb+h K*Yhvv0N_8MjJf6j literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.8.7-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..d69dfad295c542e38e6c9f1c482461d71017fa23 GIT binary patch literal 2542 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 OtH1qP>@U>;z<&TaCAD|} literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.8.8-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..e4511eda12e0786b9cd83e79bf04f379bbad41f9 GIT binary patch literal 2543 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 Z%>U^yD1@2iKQ|128u(`;{tyoU_&1I|xSRk0 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.0-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..2e0f44bc3a51ed3913ef892ef05d896fc697b648 GIT binary patch literal 2003 zcmbW&X&}=N0|)RQa)-w?S0?00Rw-9V9yepAa)w#XxyHy9kt@07T%^qv%{6H;mZRK} zCRe1eg`AUrf9E{?pZCw3=lgx}ef53)fkW9&-2hkte!$b~(0=^V)HDkx0AwivfHnXC z5x%GZFGvI`%oh^og$Y7pq97jVAWu{n3LOMN1_WFTMF$|fB7@PGFa#3g;fo6Qy66{* z4&pw=4!8n9JOErzP4&5YbTtG|9VO}VmG%aq6gt7lnKvc%l^S{5HHAAuOjz+P`&stf z7G0KEAGaw#MLvpew&K@ner3*=ehF!^7L}b2=vN(eh3UA? z;Bu3B@9C;}=A;#gE?e0qY^%r>n_=s=I@1I+g{=LlBj20WDz%ENMmCnIt=M(dJ9U2N z&}wEXxnyUWIoMFNieVRLT@RP6otEEMSEQXr&YQAn+Z);51BsLuzZBTS)X?q~? z(V4D@;77`v3!r2{O``7)hwlYXTaOe##ft+G@6uh*D7n>De}~rFOLYBPqD)T-$oVmU zZt+;Gxw@ZgHP@1n&|AG-E(ujr93InTU>*1o=ogflD);5`hHnqqK5#Qh*>G8*^;2(? z1f?JOt_@;Qs^7>X-MJg(%*p{FT`^2>3Wa-9VvO)~8Btv@JadjgQkv{>k zi8#(DqklcOj$p~%1A0WupBWFC3t2jw@dH+@SV{r7i?yX3^g4XIC;Q-%j?Wu7CcUF) z&3`-oxO?s933LAo&D7B+5|=ulB|Jf2XvrG!sx04TRC~iF_=Ose!qKHFSmxM;XprG^GB4Xsu3cFUi*nY2aKFOeX+=FP}C z11NVhFG%katmm;!3jMy^^MkD9vR@2sO53i@RW; zkrxDWVD3nRFzC@&$=91zX$HuUi&Nmhp&-3nq>OQ+iE-hsMv18)Feu&Aj^Rk&2t@Pe z*hoB4!-&FVn|TH87;vQ?Gg%BR1#+^65; zHhx7u1b%Snq|bjSV_^71jriIK%8Pe}RF^^y(+@OX1yRG#Qi<1O zmQGCM&bZ|>G6m+6nY`}7G_dAN>{Df}=D&pPP_z=Ec2(i$F$jpdVZ^(v8b<|h{x@>o z5K#TA?2mD|j<-QEL!4SqdkQapaFQ~y%bDySr#B*NW~R3pc|52>)~r&7gTx-gGu*gcRx zXg>eZlWKwUi>*ouUe&8Km@H-4IJjM0ypmFNdfADPkq`^JNYpXoW2bs_S|C1$)+p0# zv0$e9J5;`Ed?pV=?OYC%yuhCIwRB}pmPRk@i(6!|bs513WSm5dpO5d^Yg@6{;q*6s zGAB9mms3yQ4%oj}R$`Hfixh@KSy*qd{cl+R*!thZv-~svFSBqcJI6nNmOu6Wvkrgg H27vzn@SePO literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.1-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..ac4a00164e911d386cc15bcf362a451c24d0dac7 GIT binary patch literal 2001 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.12-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..673ceb86488bb7f213f1d18aead5dd5a0d5f0b00 GIT binary patch literal 2435 zcmbW3Sv=H>0>}Rt%aq|*F475QFbY{?B1ZNtM3%ykB{L?IU9vQ`>_fKf##W4d7^ZTw zCJsi3vcx!Zgkk86tl@U<`+d2;-^2Iwd-%P7Z7euIdH_4X2Y7oQIgE68zi;6IfO-S~ zXaN8a=8M93D~6$heHDYf1N}V$A1iud{k>4ZD6GGt2L_`QgvB7e!yjP-gOMJAp1!D1 zZzXgP)*lSw1Y7~&DFEC^N_wF7Q!RinF-F#g6c6~LWZp?6q~8|Tm1{ct=9$yvBAz2dnkmVfI+tMmW{+V9&=feJfh+6O2{5UCC{%fN{YB0+P^hP z7U(>8osG7ew%;tS&CHrHC6EKuHD=+`nu{v9g^m;IrJgWpbmS-vQ{xI&EwV2b)E__* z+A|;>(OVX6**6qinB#M+5A&2Ha%H-gGp>%LBxCK%>1c*nIG5-9hi~V~gn;QpZ9c)x z?nt=TC)Ubi_2Xg|CP@XlyQTp)SHUa3{{Z5$4q5l%hG^ZD9yWjZXZG*bp9f;H2MtW; zd9DFDIfvu}iJMI-h7+bu!f`GKG<%tOx)8`Xi`y{>-b@?xYhAmk!vPyhAkH^@>bxQm|y4 zcsCR>S$4WhsgIf>z0Zi%aMp#W9Q`Heq+3AI;XL%p_Tkv7+y>*)<$b`bekv#gVs9WV zC?LEbdld~~D)2i~woI|MJVPgZ&$1$hkOLQsdV2U?_o7TIzIr-r3#eh3jjKhyfgcdE_5nDNNU)~GS8Bw;V!WP)fsqPwnPE)A_O_Zy+9Srk}waUic z79dydAVZ0XN)-7r9+vp1;|U6#^ZiAFk~Zz3OzX?+3nDI8^Q`%!GA~P6NHIc8uRNR= zwC+VFl${|;F>-ej>$oz%%8W2Bts-x&L`;9or*rcwWYyucGq=xvFa|+wx9Z_}P$2!-m#jUXys1Nj5f0-tS1PU{CMPIn6EE0@A!0l84R zQ0i!{p5(4_ZPbN`b&TVeC`l$-xe{;|{daW#KyI>Veq`bC?Db&6H|U9n(;wV!*2{kH zvQ2J3CsoP=MnXJMN0t4P4WHd-Z!={Le`|~zo&)uhTQV>a5Wy_ImLV?dnsIf)`L^`K zosgTO?RT^5SvoNlbuE&k)u*2{Ud6l4ABys7&>?Z> zaikXO1X;ET+P8K6D(uHm-JNn(uQD`&Um}D$k+G=$W7QP8lzwne+}FpdN}L>TMrTgR zInez-%jcmjL^XKu3{X_YjCQL_$cqKIkPg31(w#?vwuDtbUd_blVpx?dADr)u$+N13 z3K!#rmOMe*3 ziFKp5VgHinqE(}=%2>K+<_{l#(Fh$;Ib|w7HhSW9GX|R3z1^q!x(I!q~fl`rLxA#g;ub%Ck6GGhBrdYApAhf%C zV)`|&MolEd=KUSob7o6lQ(uqGm>xCyp5yTP;hv<&qsvq=L8)Z&kbb!j$heDd$?a)< zCODE;N@sPm} zRY|q3q^>)cL$n@RkVe641`B}M7pd8JFRrE3uwYBhcHY4aBS?U1QkY>*wO_x6Gb!9R z>0kOSEc5HOniEC&ZxbJNeCWUAWTF5&%`qTvGvS>nSLIYgC&Ql36-ZM;i07o8l-;?( zFJ}qbU(;XqN_QrwqxFpQrk}^XySuS~I~k?bqw`@Q%W6beF`Xel8PHYY18=@FJ{JB2 zMqwK{qP^vmB~JJs#VZ@_yOQ%s1{xh#t)R_+@V84<^Eeeuy~BoY?UXk3{?uV;MS_|c zFx2vRGQXclaI`|wx-EN6TiR0u2Fo*?!gM7rDXztp5P1+KqDn literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.12-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..709c888afc5b73aceaccd5f3672b26c86a5fd895 GIT binary patch literal 2305 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 RLjV5x{%O!Z6cqV){RiQuioE~; literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.13-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..d6423558b1cc9772674e7366dd843c80b195569c GIT binary patch literal 2304 zcmbW3YdjMQ1I9PZB}}16StcVwNp7uSBBxw)+uZNXH0CmlCR>_J8cCxRHn)o9B~&gW zHn*5VoE%CeB}SBl&E<67@9&rQd7j_z|LOVucXbe#umXqyz<}^@kyr7J&;5qd0KhME z0O0okNfB6FxIq$@5Me+FkBbhDOEw6_M~7hvSbVfWFb-!JkH-au6Jzjkguvjq&s{$N&H$GZSOHX&lQO;WxqM@AIOuuyzRbrkk3jPOWT`{eeW8(kkKPe49W0PC&(xi9$NAOeOzF@T**NCu3v5#n(uj;l0rQ#ONH_AAy53n#(NKA zVv^#XM^D*CZVggaC+-zII@@=N@4WBx6oM08{Wh~j{-|WtWKpuWG}qu@iD;woY8Wr# z&6Z`ele8lBGrH>N*@Md_vg1FUt5(nnu_gEqr5R z6A=_2wfxe~17)J*JixYbOh`#Z^`!jSA;}Zw$|XEtz7xS+6;ICFqVo47_@YO-$)vJO zsJJe1Tg776gGrmzP+G47GM;g=m(|)_q@s40vDYbwWOv@T1Lm}+LdJMaEnQCV4cmPy zWG+YkTOjdPf$&OWUQprJDo!lsCjeB0qlW1zYWo!i&51FBDC2VhixXQ;9 z{JDeDQ!R6kQZ!CPYZM(eqmEZz3rbAyAjE%Y*FGJuZo*tpbZqYS!IRO=tTjrvwjFzc zKGFQio0gV)$)NF@n_P?3yLDD@msG8C)14AL+Rt+|qB=g(mI*&F930BEa_?Qq6EM8I1l6djj^$dib*Hl4?GGaY*{Hq+XEMYkf&W1{-S814O+*+#Dz{8S6UQFlm% zf!}cTfu!!6f8~o7H+aS1a~3HmBa(E5zV-UHOx6#-Io`&kWPr*9f1^Q71Gtij8x~G1 zj$k+_d=AYDY@f z^VAo)&2r{Vm+CrIRu~xA@tkT8&L}5;`H>t)g6+{@FIz|!!kpjaY6=mT)u-~oxTwHM zGAXoX3G``W3@Staf&~60cw>>|LJV{R9o!aXA|N@ z=ST`okSSTi()m1{IyRj~V9Wz7CiQGzZ2OrFc)Y$r?TvFaY?k=}NfQp&+kZ>LT( z+`V?_hCtBswMyj4iK({wxiRBM#mEHBgF5k;H~GEO{0RRYhE1P<5>9%UV(ZSBF~^F;@F)&%sRUD z4PjX9D15t7{6~*kiSM&Fg(LhqwIb~=QUE-H;rd3V|A~bki79$FQgsk}X9)Si!J7qk zeo#w*dzW5f1+)#OkBho*~p=XYp!pUc61<;lFk{O2u4<)xJqi_;b0 z*s)_2bG(_>pE386%4V1h>FOWM)N;p*cj-|H%0At?HRPnf!8`36@8Tc5%GfeixL$ci zVz^vSbBzWH(#!g|VAfn6Fq^Pb>AHzqg716k7iH|ybtcd z;k8*f8T(M)G-wVO5;Lf`y*j2>U-at` zU9|IwdcYv{+5&H*NZy>0TW+ZX=`GqrO+k^)<=`az*UemF?C512o5myh3Q2B1(bR4Bx}I t*Y90$bpVQ4iT`g4`7I*<4H@_^{$D3?bpT2J`v?B+#oxU4+j9Vbe*oUPNnHQ{ literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.14-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..00d8d30d63959ca0c6707fcfbf025a21a6a6d379 GIT binary patch literal 2434 zcmbW3X*?5*1IOpSa<9-K$K!D|6B?RheozG1M7iF)zHUh11nJ?M1KQf07S3Du0y&i^{L0J-kxI~sz zJvv_=X8}jnCrA%j$?Yd&Dp;u;BytqXQI8F8MQ@x2LJQ@z#WW6VN2vwF&Vir6?QIP9 zUXkmeN({|D6JA6MHwQP-B&1uu8pU<fJDTiBGI`~qR64^{Rl36q2oh zu~KV@j2e-d?k1h@fs4eC*oOb;E3(DaFbE0AJA4=1%|K3d_46y=f7LItUMZVUVI{9{ z?UW$%{zCg~gF<71iN)?0M~k@AQdMZ=+Lb$NN>!02#7%73c0Z+d{*c10c5kkIZd8Ez zF}AY|)*ZTEIf<3_iP3)tqtvnzF4{^V4oKy_Nt4D`K9{8{`_zdyYM$ z!b!>@vB#rbq?Xfv^z-vZ8hxEt$j{G?DVRRfJofVL7wdgmFn}jtHeUj&addT)V{&b2 zt4%hEOmJ)QTIXEV_d6TdpvWSdwi8?+nU0Uf&K08z7qp>i{FLRY&IhkT-yJ0^eL;Xh zCi{QdqPiK4d$MJLr1bxcqq3yR+tq_}-~zMQ_912aEa%JO_e0;>2CoRDP*)ZAGDHuH zxj6LR5WE&!53^`*$=S7$%lK|`->vn4DNBG<1Ai=3d)5`b7N$5Vm0VE+UOgZS=)p77 z7N`#x=hbeKfyZkuH^Rp9#2j@+(qtaz8W;#*F?F7HcCih#-T~b{MS(8$A9#R^^y4SO z+c}#kb@OIP5h_lIF}wU)j<_qe25opjGJdTA++&vT>hLA)>na4)fEh;brdVx}SD>x@ zZ=>{sUW~~DRjn87Myl2nc=a--lOp z7CjZrO3BH3k4M*HtJgb+o0T*^R(A~497~jJbZ;pWDOo2XVcDN1YEwKaAm-!dIik?W z3vTo7cXzLsS9}-hbD#6HCZiM_C!bb2k9$r+;ijXc=OLu}n|?KOOA&3^VsDl6(j{*D zQaNvsXKUt#_K|f1PK;dV`n~?JUzbQdue(JBeOJ(z z>G>CPQr#UdD3p0)eIDx3t|ymduc-!kZn}!ghg-=9*_)8v8tXKaJY^ftX2e?8NhTo{ zaTS&PfA#tXDu@aN%)ych#S6}WJ~?;GyzC$@u{N6wWq+=hOzr4i6BTN9qreaw5U=wQ z&xYUWWW!hZi@iSwJB4R2R`yQzND^kMTJ?PVxhKt|$8*^_^3ef^*3}3--+aFr0>?r% zmL>dU09~hb)Bp1{WK2k>Fo9;#!VD-k^!yEk;&aO}(vm4%s^0|_%MG4LoVuhql}lOV z6)?=SvXbul!?ybN8|JoaiJaKj<%O$x$`XsWmcsTL622=9EKzqC4jqOamh~@yrd5Js zR?vMmw^WIYqzPXI&o1LQl+gRDdVq%#0}W3GbxC@Kg?4n>^zU)7vbqAd7%>lvZkLE0 zjl{?%MF(eX?N7yd6tK~Q-@;dE;!RH0rCSf8_GE@W7xPyko*x6)NKI#sdUmONK>B(l zt%|eE&}>PYZ4iXJ6xnQh)jVWU%`-lfOvGYwsmFIZFwiaDi^GWV=;l}1Puz}dU5!JJ z7o*AxDxbPF81xidR`?Si)qe=~i+RE1++S#G{)IEhqHtv1ipI>}BbvHrK&j_ycGUkA z6e3d`G?QGQ?USrGj0y7H8$ zlp~TSEU`QL$5coRZ8Q_&*4JC~_+dXd)Tb11vYG6Y8dLwY#960y=E}2DlLhbP^cTL6 zl=qJUAvrV^@d2I}Z&*78%LeG#M}j-TSb4J{c=qm$<(r+_$Z;dmeZ;yVG4}?u*Yv&b zBj-Wu*d)(a-0}!%g;(z0oA@%shGt~mUuyTMi0<7on~UG9*F!(H0kxhE2O$Y{FNNox zkn-!K8!xXPZsMe^wcLUnj2cqknAkkZGuCDw%DM>=S zHP7q(C56c_=I$`M=I&0)6ak#+&AT*@zlNKxg{3mYKiJc@TZ_=8pDKac9r(rmq?>7@ zmq}YiJ^rprW^)5OKXayIQ~4f|N7P(XntNCA6IT0?U-@)m5#1=BMz+HoOHlvXCMDvb z*XlQ`2o{F<%&^sOH$EubU(fl3rL~6H?}Jpjt#;5fjoCj_0Kr+z-rWr7h!Y_g@R;hSocFnh zUB1s^d^U_r7280fwl1B)vpS(r6$u`e7h8SBoAqvJ?al{+C-QoSsgZ}z&rlbCeDNvg zxr&k3#AcWT880<))`P66AfpcLNE|PjBz)mJvEpC;@x;`4n_WD>ewCg~G@ky0=Tz@K zrPYkvi8R zL5x%uen)x2ZnJZaHQb@UeQl`}yla}LyEr6Qz*$ha+3sM&#cj&-zdh(575Z=Dx&Fof WYefz=eEk3Zx&A5oAMy+RyZ#2B2%~!d literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.14-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..f9bdb6ab7d2ea3e0cca2805dd9dca49e21baef9c GIT binary patch literal 2305 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.15-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..249aada4876c680f59b85dd3996c774924ef11ea GIT binary patch literal 2429 zcmbW3X*?4S1IK4fCb{LvEmzFB#N=k#(BJWQ--R~KG3F{lj@b&K9OaLNYDBI`lH3+^ zbcq#djhRR`Wfaf9=l%2M`TbseKff2h_g_~hUOp=T5FiW)58v~$x2RQY6aWAoS_1&4 z001Bfg~o(KlF&F51Q#9`9U7McIUf@phQ^^|q9LIej9z>UCOAAfHYN@i92$2Xg-#6D zi;Rzn2J?XcfdD`T0AP`qcft6VF_!ddveW!X<#04wy-zVG-(Aj9^U>iR6NzV72Oz0~ zTi^voyg(LAZT7Mxr(`xdEa6{dynS0G9kGR7tcCT$$-UJO6Ufd`udQiK&ZVs7>tdR} zlt}3gNROsWiAhIUZXWtBjdfaEWH5xReRlQ7^pEulV?9X&z6ZHQ|iVi*BRm zjC=*a?W#_nh$vy}GStQE&rl^7%PG>T1a?)eHY;7;WHO~`jlW74dNZz3rG7aXG)wCe z+JEzg5G24%wI9+>@+$#hU5rRW3f7K3!>fI1g-0pOIe^O~__Fcsn#OCX*-m~IzUrP4G=GW6 zv~T3xXW8Tt1nVt8od3RXdv$vCu7-Mbd5iF`PRCG{tG4B^=W)%DAokM+Na(fcJHo8K`z`huZ?adD zUEY@$hT9vM$J$w*7ZzTgQ@C?96sFFNIInkEhtk{F&tZt?RM%edR>^6wp@VE%Z~mf6 zN;kQ_eLsk|Exz8iG1iS7QEnJ6?6W?6EO9Bs=dWhhghddP=QNMDK8hon_sNW{u=bNE zn8GYsW3X8L1vVGIPg^7l*UTuV>Xr5$^Nl(f_ucvA$bbn{eCZjp94n@qhM z@y*!#b#;PW`)t6x{ZcxVuZ9U7_j+w92Hw8X1q#(<5RXrsHo0$tT|-d%)i*4EFZ8$A zSFxl%xuw!8eeHrkIfU>Yk8lyW^f&0a=k;|_Ga$|hKH!vLycwrM*^MlE%38rmXCH7kgPaoKC-m<# zyE{nEl4*NyHsPv)23s{v1zbwB zHr|OX^y&LnP`*Wl=-d#RsR*pl7{&A(W!pAisa;8^5`EdNle`e^mfCs#*xo#{JcFxU*o!q+gx zrF?D;iS}VQBQS|gm>e94m>m4nvRbsIc7S53FE4Hq>`d2 ze4Ta;y_kT_wsXK3{DxmZW7CIx5-fzLpo_LLUPZ~J_-E$@%8WrDD%|xh^LeimXitx0 z@+k#P7Fk?iaw*@pTj^#Ii!k!O-p>W`t!u+eZzyY~kf|9d&7^Qk1*vM}yDZLn7AK82 zD@p9-x}FmfIu2JpRAo?Skib;<8g4ViP*&YwIUt1ZX#M@9Ch5eM*8F3K43V<_kFGaHwuEY2N4&?i77`P^Iae6>=W7 zPTIp%b%bcMwQ^l%o(20;4~L0daox=YF&CZ}#s6M+u-Zw|S2idOD~uRe<|sAgDVse8 zoX=J1r*E%Jqy;5L&nULZ9$77IM!h&CTYryyrL(Q($sX+BfynG#8wDJUq9AHvlK@-` zyuWE;kRdY!`D)ZVA?_mZ8E`&dM*`h+9?Zwy6Fp@*Xi2=RHLI6b=gt8z8QfsCovy^LY=|Oif4CK^J?mHp2_F19kg$= z^B&OG&%v4wWQwsls+bpeYD6#7eTShY8%z#ZC3G4+iE2`#to26JQ7HS4WQs4q*oxWI z&s?7rJhJV*T^XF+G;7zJCpa=OVxaLHa%lh>=EB(tL%Vco_}WPrj%OE(P7@J?Q-krR zo`xyAcLyO-8+7LPT6`_X(j0uws;H0l1PtHe_^sPk-?2n&Jeg1FYfbvzrtR`*JqOsf zRo;1M?p4b2+hJ)p;|y~_-%{}M*#zD*2*=oIQ}{m+H_f0E%5t<9U%e*XEQ<4}(#~g^ z?-Nvs9Lc3unWrObmN?`nq8h~M>%oHc_H9=u9-tNP|5l)XE$F|=;Q539SBPAlK>UCH NJpVT055a%de*m)GiyQy| literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.15-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..471e3d41ff932551c9dc663b05b02e8b14cb1c8b GIT binary patch literal 2299 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.16-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..e7f5bd7f8d7ab32256bd7b0d85762485a3302f98 GIT binary patch literal 2318 zcmbW3c{~%01IFjf8DWm`%6*h0_t_K^Mj}dxy_I( zVk+0nS#o!n``7#X|M$=Dc|OnQ``7dT*TI&J-3-7AI1NA{4_xSD2oF;(0Km}b&j0|x z?SQ}#r26eZY=Alz8IJY|zoU-8p#1`|ff%&9Pe_PH1SSNIj10wuW8psGh=9ObNR6Nf z44Rvr1KW`>b~%>wZtASkUW)g;xu(kd_-YPX-hNi1DJ|<|4!-GyV*Dv{H0_ozT-mq0#l3R zwUnhGYV>tPXCB;HLhudn1rri92Pge=DLgfZ4<@)r7CqzGSc z)E2}$SLSZEu3O+()g20fgdvf4y$OWC6 z5PCcEv_pg0v%33JJ9fleErd85yEc546{}Wj6#L@rt`VV2uD8x(e9n|tn2EWk#V3ol z0~?7+*eKyQHh~H^4ahyUotl7lgUe|NYs{kb^Wj{-h8$wbk_-H;Lmp;{lVwDh^V6Zx zPr+ef+}~OjmXu6-Q8&0R^J2P949X-k7^XcXXD*JxMc;AW?C*bW4_9R~d;Axe6ws-C zLpz4^m-)U*V`0=k&s#Y#{!+ZCwu938du91pY&=|{&Yeyr8~eE_d6i!sxc*6^aU#!of0hueGcSNMW}-t>t#jWB@w$yRntg~uX+V&Pvk6+#Ymg@4 z@vnuo)`_>@oGt<=y8L>@yaR24`(R{cxJi9gw*TnfyP@lB>++Fcg;2dT4N@49VbQ4&dDKzab&gu`;ivCjJ zU>CM0=frAgeCE_1@D{B*%X58|9X3X1lYbxLj4UG$wi{<$cy-k>;`lw9`L&u}jAIeU ztLNvrm=_&3`ACI`j~?c`MY`a0s1yk9|2Mg8G@ z^Fs?5QRgbZc8aa84RE&0!NMkcp~T_Y&6fJzJ;72Mcdf#0o@_xL#Rbz~EvWjFZ!57Q zi2+WBeR|9vT5H?xXDvBY@p{35%Y*{a$9a6~kzNxItA($5y!8D$x_%9LPawdai)i(z zU?q<}#B6;Rqg#A>!^Q<;YS0Qga-Zj*P)XY(oN+ zqV2vjnxjRXgU=eA`9h?w=iJ*y&}0oa21F}NG(D|w$p$PmSmAJItmY#sB)*>&Hf-G+c`&2EcJ4dyWLb(E#$xbx0htW3&o}o?xz39BbLm2M+s)et5nCCJB3M*CdrIY&;?oRHL~m3{dPz zitAMK1=gsYM&v}cBci<|0y;Ca63Qp0vXru1>cCqGk!;J6d7T9C&Ie*tJ&zcmYui;UN5?GR!H(oaE9l3khZU>#rDk3(q#Sy zp?e8`S8&C7X{i*uf%Zfkmq4Hnwk)h>Z2#Ly{%Fa66UXu|{$E3Ju;t+V_s{aDs6Wj7 JV?6-Ce*pZ&OT_>H literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.17-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..811b82b0031639d849402b32e1219d613f8686f6 GIT binary patch literal 2449 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.18-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..96b6363d3ce5d570b5306a57b8155f90022f2e28 GIT binary patch literal 2327 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.19-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..800ddb784c0f4a6a6a960900355104c62cf0e2a2 GIT binary patch literal 2324 zcmbW(X&}=N0|)S*xkAi+UpXT~%#|z2HR*6nIT{U{9AmD?H6`a4p+UhntLfi$4bYD|g5y;~gc3DjrdQ(DvTykHfu`(|=y4@FD&%5q3WVCO$?CC=Jf zr{61_NTFhqr^MTZ>1=3;XE3$7Rg?9vc3e+(dR;zkQZYD6jaFt=SY;ZG<10N`|}y9=83!~A!=d7h$a7~Pg};oGKIOKPdg$eIOl=@*#DDF;%o?71u6 zSMyXaSm_n^e5n$}7d>6rqJnz`?r^pihOq?XjiNI50+dps!W5t#l~R)|{YOVU%#WMthhUfz{|ej^{JRf2{j8>$py_ z2^I-|P*6w$O@8Qj0X2tRN_7|M>i+otivc~aqq97l7OrI}e^UbuBD7`NU_&8{1A8OL z@_5ro72!qY;3A8baHv@W*f%N-zYTmHEW?@=zG*mYDlT;x(QU38{3GbgJ;oSIISL}a zEm5wsX$?8UP;kUiMGJU-9O;Ee{sQp9$-5*~DwwwpHKubL01Wd#WQ6 z(x=OZ$bzu=5_1sMt&~p3PuNka>KQ%~{6Ysq!P+JUe~gvK8d@k-;g!`n8OBm z&3X9dn}t(fm@hl`6|Rap1}@z7_{@FFUnbASl_5*BPk4Qd5F zX(L@4oMgIkANDz_AubzGQB&NY=+b0Nv&~;bLxZ&`f41bXngj`Xuid{^p@X}|K*cdWSH&VzCb-Ti* zHKt}qdQ`$ma~*$O63{&=>AtW3p!=R^*Fo(^*n>NQ9>A~Fz7zN9I-?la#9EU=K*Jt^ z*VcJr5Y?q3f8|ieoc)`YaVyjUdZ3T8a=ZR*DLqfGHNjc#jfk_!^PGH@K?H(*^vXvq z!w@ifG{Thz4YowMNmQDu@h`ZFdl&-6lxhQ+S}LdC45`HXstB2?VQODsAk43Uj(yRF zi|rRN?4Tp!f(9cTqd3dU=b>#Eek;#p#rSJ3AK5)mTTRi@Fm;wQBSr=+v*sl}D+?>) zRNpZvlARnNy(Eyk<1duF9`WUY=f24;PV0tSpXDa(so{>p?t(5FSR`s+j3M?S>! zVXaKH*{-ekvsS0F^hOrm-j3URu?+d%uXmz* zR&HAZty;ze>GOomrn6ZWA+1RGc0RwcP?*IRqBD8q6mI(crKdg@V}8i5fqK&-xuD%E zpLo|+p&MhjO`Z>pKi=(oF?H*qC8PgtqdjmQ+&ciZTF5xaYihIZL=23Gw4PRTL+$ah zR9UVWy9?kj-XDnPV!A-|+8;f!UnK=kz02S@u|1GgzDdcrlQXPhv~38-PE*>wj8ryO zuVjFfu@T)n(zGZN)9zL^cRmYYE_0wYYVWqxD={;E^(BkNhDXLycmehHo0DuMImqmP z#>I|^^DUsJF?8Z~;Ja6vx$?i4otB#*F^#kDW6XCmA7hXTOJ0{QUoh&q(JVYkU)YoCy$kX!BGie7GaCbY?M_b~A?s)+Ru|z3pV^b?5?%|B zG=xxn%`ZLn0|e8yp6HUoC)Z(e$#?gE_dCQ~wr2sEv;J?H{Kd(ClgRS#{J&1QY|qZ| R@1Nyw{r>L5zxDxu{{VTEU047B literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.2-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..1c98d31cded3dbe7f69685ee944d21706f593f95 GIT binary patch literal 2010 zcmbW2X*|=91INFZ2@ysuIg)FRDMy-XQI1foC1zrajg8qF%lSuJ)Y42Sgw$dZFQVf& z#S)Pt5sHe0kfTDFJHPrr|3CSEJ`diH-jClXcL~s8Kpc<<2*h>oJdK*Y+oS-1s}BGO z005#%WC{@;O=ghb3}OWJY(y+Ph(;xl8Dtt2ewIQpiKJ0*#F%rm2nOzKL=cG_MKlSG zq*0|ol7K$|TmS$&Hao<8!<^3R>HNn=uArGp)~(k_Nkgk5^&iOAT0-jRPU5`Bt6Xns z*B5Twt~uefau@XHW2EyK)W^44`4~N2Fg^4my>opEZwX&%5*|U^Nr}5S!BN!T(BvgK zxt*$DLOPG_US*T-4y10K8u)$V>dTPM;Gg-IH|Sx30v)o+O?e1tW)Z6t;%SmT~WxIe2y(^_4}RHTnD- zLdopnG~$B6qR692T%F2O*+r@AJ;9N4JuY^4AWwXJAkw(gHO)`1#zjho_671i7wj3S zvZf0%`&OY0Za?U8_T~~q`<9=N42LgT;qZ(Le)lnP3P-4+C)q##GfUQE01s((Z^9UE z7I9F#d24W5><)J1X5CK|R${ZbULzlpD&FF-e+(V)1z#D?k+uh>0mVYudm?K=M75Dw zLx)!VR>gOVL{S@*uS{9*Yf&R)k7X_2Z>ZNivEVX&2;ttC4$@S+;R-_R!{0X=+tAu- zIzo8LjqNc?;eCNgm2SN(^)+bSR82_ug{K-4s^vXxd+11=$UqR!@Lmj2m4s(LyQNGo zxF^?=E0{}>k3{uJd+?9gO#nlon00u zr(CD4bNMul+42*_i(QdxXMX7wR2GGXR}N*i6;`#7>pH($BIMKFuIBc?Z)N*84yb36 zez9O*bsF4FYRPv}bg3mCW~&Q>Y9R*0&Ud_20v7`(NrE4g_yIAgXJOwZ!7z1Ng+`p? zBgYa$W3^>|NAL5X9kVNhnw}Y(|u>NjDgeT=hr55+!PwEk}D^;~o0Dx!27PA_{r;`HINUe3m( zwx6rO^!0TuSZGQ^leTho~RJqP6E>(rSu)PsL^t*Ng@rt8guwP<%m)amgFe-Z4-SbASJ+#ieL2-=U^}2jG)rshVZq1kyo3)Fe#aZc< zFmMZrq-|`b+Iy*PZ7hmIaQ0CG?`X($X5E$)50xCp#X6j}S}IAmIdDQGI5vYjW8ahY zZK27VDwS=A*4}k33JY}{E>!cDK+9y=#q>cWFdXaM$e`hnh^N-M@9fJJx&?ar_tFGS zLyB^2HhFksB>oWhcqT^aWDGUzat78Yi|k+zn^u}Pm)>~&M(*6D6rTyDIFsP$xu|2$ z#xO?8>MIo64)nvKBI2lmkLH4jeVbcI8TTzdx$Qy*g^w4z)XTA?0yssln^+lh;(d6E_|}vVc-t zn5nAV=Xbr^27fkn(fdywVywUTJEXYbs~`wUn0*UeM>Jkfr+%35@v zy5(`gsDi^>5P7jSZ++`wylxlDT}=G2#Q*N=pTz!m7sUSJ|E(>`T@w7)7yI+zKMeR& HZ~*uhmC>!# literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.20-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..d0ea7ef128001cc3a6ffae556e218bf79c7ce7c3 GIT binary patch literal 2455 zcmbW3X*?5*1IOo>ha$Pky`*87%rUE6%`wbK6Sxjn8eS5mIrcUa1mmMb@9 zN^VbKB+9g!Blq(>|M&kl|KIP$_w#%4d;hgWv$5*{SOMn%UY>`yGyv!J*YU;32NI7p27hf2HY)~lx{7mE!%kZHC&(rZ@^mC zvY&B_%ecoRW1P|XO>kUzt3}&zRoMRa3qd1%=F4xN>6z5S4OckycYh}mQJNHyu$IOr zdju+rH88Ou#|u!6MD~f8@`d}SHVY?@Q~Q<|R3w+<0l&eS-ftvZ_i~6VnYtvDibzIu z(nltRvlU2S;74y;ojoWYts>>jflODByPJ0xuR30N-OrN*5{em2g|J|9Yg*>*ZRYTg zei038qFKfyp14t)noUz}ClK7^ASBlGDLo#V05JTEF%cE5_I7%dN=dJz{B3Ixch=+ zu}0ZrwlODvws-PON3q0{hV}xd#)++A)IJ>79AB#}DZ#A7Fl$atI_yqj7Q^@qxOB za|)s!Q-zfZ-JS(Qoqq&J?+MrS8$TBRwAZac`F@zpBjcRh$Iu>%Qlx?WJOs@e{3=x{ z;TJkV7C3ay50>nK?^iZwm5|)WTdib~_EW>2yL@nm0KAV{w}Fl}$0MGX?-mUktCn6) z8uUCic&!xh%|zp+SbMacTonH<{$D|iy=aEOG@BkKh^aw1sMargmOw&+Mv#`DQ1mo zH4O|ZFUj<1A|FXvzc$|%ib*R_x6^SAwlaU>bLA8!LT$8@AZt;n1*H{)zI;#`EmR;isY27a$W~l zC8X_!EG%S`CE(s^lzDmBv~#{f_sYQ8B1^E{T2drfoqk^G(m-fu1)W@`Y3}46I>m>h zrlIOYNwgOEz(*5bj;6`%@6z*373*^{v)pWKg=cHsHUR6~nkO{)Ir9r?(Fo<5wYAyB z@(x3&?~29p`K|k9StSM;rWS>YRl_dW)aJy(5PANPh&DB|@b|2r=3|mubajQ`Y!Ct@ zcU5U(WOe}J6ElTsjf7zmKU)tm3(mp>-&vWniA z{}fSL!3b4(Y_EJ~4LsC*CHyelojZ~H>8NpHDB=o%$ufgSXVEw-528{JIcOndk3VPi zk%dyw!_%b)l3OxQmqAvu>a1q7zTDUQQALB)0m zcAPI0$?wD|qv?jscP`jQTnDe*A@#L9t{SRA7T=AQPzhmZidT)0MZT0aIE;&Mk}%*F z*fUvi)}pG2h;!*Ldix5#ed*F;M#!jT5sT#}fWZhmoa<$tg9BlO_i^8={r=F|5z)Cz zZuNdYD22Wgp|0?j()a0o;jY*P?9CV`B;OC7S}Ue#&8?;AEMQh%mn&8+26xz=7qbaF zy6MoGb8k^tB{6DWk^S~jxVq$sd#ciF<0-T}lg}}XWVGTTTF12$Ngd8&d$-hwpt`g| zeuJ!zV;^Y#nE1$(SOUXxkWV`P{GKN+l+RK0ZW%(*Ek=rgwfoVYy#+p=PAZCjq4f*2$h(f|CdGsCqBGn2<#4jyY;~BVR1q zen!v4>PG^+ERn~&TCq6c;Ff-`@uzFGaffS_>E~SHfdIQx`cDmQ8`*&TdAE)FyQke= zu|5Ih21zwc9lfRAnLdo9@xV-~UD=|@6c;X%$?KLUQ7E1Y@+Oevq0l(zN7-9U8-sO9 zFq)_bC`tvL+sx!#lNQ#}l?ZxNDJVlVvMkv;2KQ6VchVKijSuVb*srUqYZj>ytfkf8 zHtdPH(3ruoJg^!#r_*&sA4^rKes>btMbffvR}F_LWF`p8)Y)o*SRze&sw}M-6$11Yx;sCzZkci! zl$<5k=>g52i(mKpOG7Kxp%1EO0Btc(k01RvaV-Dh|5YVRG?3%pKg&P$`iEj%|E|9Q71W1_ literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.20-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..4c5db8649ae711ec1c610aedc695cbccddd57141 GIT binary patch literal 2328 zcmbW(X&}>$0|)S*dnV_UTuJ3_2)Q$fxvv!^#n57CZaF7IjW7|Z9NR3-vgGa|w>>S1 zW?8u(66!&UhuHA%`M>|a`G3DJzOTOTKOW8kf-ry|kN~cuxZac83LG2+03l`oU0*MPmY@6QMy7m}}@*bOZ((5FV}@6A|u@N{Ebzj`a_S4hliXqjW=K zA~2$YLcmo3xCH=b@c3Xuo?#SeWT?eLyo`ZCt92d8%0nnvY1E0e8$(`2+3}N_w)4G3 z9lM?Khu1p3$qpZ0ZL)&TAHL{QFY6FRX#F<5LKxzHMH)kY^>^5q60?#r7ILLEcq*hc zJE!yXbjXl{{5Bp znuTK4q6U0C#dgR8PqItKR9rsWY%cqsRSZmv{KYk83|y((;8PhzhE8x!Z7*V@b6%lZ z7w0KC58ZV(H5gaF(@Z~_`c94%!fZ>0<+n(hhw^XTm}d;PZl}K$)B2Je{BUr{9FYNf zi%NLj;i}y#9V#CDVhcaDrQ`t1CVJu01_LGF_MfEGHf6uZ5U1Gan(pN-k_1tbBUYhV z@M4swMoivH_Ob?}vaFs?bdR~vti6WVLF0;^*F-ceyHm{D-1UP>#uTfwWi;<;kDYX37a6at~=3uW!j{qmcFa%LPkQ2%fo zI4hWfvUnMU{h3;OHGkp#k7aUkhI8wgjPoSdM7QQqe$mU+3W&2YTeF zYR--FuMi4cMCO1C`%>C+wxzx+FerJqT9e7c>V!iFeVxyslH6Qq-M4w~pN$jSUnLpE z>?9pmu4(m(ELD6Sk}rH8d?x9W{@xcK#ZY| zv_ozH+f|Y!bM6@`HewEo1Zh@YY^9#TKmp^Wv^6T>Hscn$;CKidx(k?fxcPf z=r@=J-s|ka&%2IzEKgiUb~QHVj%Uf#Q8p`&7I~?4Th@Gg!T@&WUU!@xJH=O^N8UsF z$AV*APD?JfWL8oow!XV7-HtSlF!p~mu}gn>wp-Wuu<>AUB4Ck1tZ;bi|4!7reY9a_){OtmX)rJ2RD)rT`dwjN$M2w zXyeMUbSG%`vhtSYgZciIoz>Qvln#9qJGC+`3nO(JEIQ8l;ycS~?3k$KdI~IDo}tu$ zt*PHdu&6|WFyp>!yaFB>3_W$8@~6RCM1OOIZCD~6ayoIbl1B84OV=~-p;IC+fez%%;Y>CkIk9&DB zq}waKCwBegk;PSOZak~&Et~ONYG1Jx(=pE!t6TT1^NAFNWTS|2Lb8|e3iT1esHK)TS`)?i?%Qn?sWk`WM zEK12>Sbw!2cQYmZ!v~j~d&3(<3cK;EQ$F@hy!%cywo)+gac+% zC7d06yKELRX-j>Sf5z9IkrCLN*QwU?HwKKkV-TgU`goGO<7stWQcIfNUSJ95~kDoDmxubP05PM!0y$WGlGkvrMCG4J%AvKEpfZc5d%Wl$Q8Xg{CM zKuCcj!BzP3={xKI@RUdSisgqtOs-#R_YWVx<&@wJ*8vSeXYq?0p3GefmG%>|d^;eW zl0eU-Mzi!z^cSkXzPIWN6{NBs_eTm)L3z%3J<86-*901}osC7!M+XFK2_g{3rz8G} zxFh=fs=+p?Zdlntcm0cp<^+niq2V~QeWzZTqiGN~owXUt`S@eJE3W2<V1_*%5qtpm5le%$_G{V8_fkgJb)iEq-O`s6!o-ZYV2K;VLG<` zj(_Mr+fu)LA?459hQoA6?Y+{X{WZe$u!l1rKTP0%>*P03{+nBT|IYtw6%S`2;eY>p OzkB`nmi_h*0Q?8byjWHM literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.21-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..6ad58e7fd0fbb00bb8c6e6590fbed07e6905ff25 GIT binary patch literal 2459 zcmbW3X*?4S1IIV!%9W!W6;sY~-$#y-`=l_4+KX0Dj@5T4?d+~e!wY6jf=>r%5Tz~+7np1`;t$&;q08oPf0Ga>* zAT|h&@Ry5)M+eD8`$vX(N8Xe34G;5!N5jLzLp)l}Jj!A$2} z%tN4z`STj({+3gt{Tq(roLjO87?GpwJ*N4T*{a?9f!3>%E^oe)$J$Gx7w`OW>^Dv2 z=@HTfk`FVETEXz;;loX1*vMd}NTx63_aKxQ=fGm}(FXhO+!icydU`;csf3J!a4>gi z%XoEAdq*iDhUv3}J~=lIj|`R#buG6`7lMyU>UEN0C}ov8Jt8_vkmbHaC8J0o3W+U! zvdR#>O`R)_0PQHID2X3#sIgfn;pN_rftaB&n*l7Gnr_!7Eb3NrFGJ@>5^_h4%obVI z0eN|Ux{m9&EObgYFJt+!9>-)yiN#eukVy`UbCgyqVH`m14cF9*-LNtpt$0(!eo{L|zkSbdr02QV zfdvifYMurz8wviIqTDk0Hr_9~!gtDrt@BykjPr6%kt(!&g?it|+__vi~fY1?aAG@` zV}@;i_jZ~8!sOROgh=pJQ+CAZWIkz8`IFQFR;fuB@{KGP4b@&2CkBePr ze#(=2ElV)suPWeSzPr0|u{^LPFnkx>&;#jO10iKmHeg7o4?F)CMhtfSn4xL-u!6}y zUh@fouQZ(SP`+2DjFl=p>3jwc&f9x}lh+}KN)YREuUzy{D1dUKv#*0K!CNtAH$oSA zp+hiS**OAuD}VoCBXjmwiT7JqDKMM0_}RY-S6R4aa~hL$vUl0XOhDqcuP^?P&Eb-x z6mbaWcDUmSP=acl@_o|8`mC>?fox6lk0=se4R(NN)0*#u%|asOW_x%biltf@fE03- zFMYB>U-VG10evNY6XEof)ZDkP3uB!=`MYf1HhVkW+vdF(D66kuH~+?8y;y7N)W zX*Fz4rXbi-K#di@1wv?en5$T=lF5wK)fbs%Cx3q01$2QeKUY6kFN^iAT z7pm^i^P{W2OV-VLN>iBv*#`k(0`WHmq!dYbOyQR?=}B*>XfO*zdgKm{lgk>5M^g33 z8^+#!262Qn`|^^{JqRGwB^q*IRXw+MJDRVE=3fw_R2N^A?qNJdQor~Uzm?{dv{ind z&1{o4M?K%D(`IAxDX-nU9t7b%IYX5eEDX&o&RQ9Lv?Rm^C68I0y;W!uG1 zNVf71pRSEANGFZq0vJc2sg1!AK(`-1z`AZRg>FK`WXTgsz>bnYQ`y9LNtzs-+`F0O zncjR+JPVbtulYJ9u+c>J7jR{|40Y07b=be+VxX%5pA%B8Bb-NgpJf_>J}t3-YyF*O zm4G6+Gi8=5c=>U^s=1Gbl9U|w#GWhIv$n3j?pHvCt*y>FG^)c3?{PPZpKv zN1Rg!29Kn9Q45#7J%{XAqQ0KO2PG6HeszoZVb*w2wqk-1k7>?N#00W)!Gn0`k1Ou^ zmzXoHXFHy}3(JwJi@Odc@v|$@UJ!w)0Tc+lKg$v}dAoR7`(=$Q>&6x2d>VP!!^|Iw zEvQ%Y#LJmnC;RF)5s~qq7SP((R-a`rT>fmmC$`vV=9Fc|>eM|$%n76m@}(U-b7Z3a zrQM?z8%QqkPS&U-f@yYpYeprD-ru{0Xu$hX>p1O|xeqPkd!w+^E6X`OB<@ebw3nD0 z#HIM?^8ya7x1u4*N~T5Qd^qJYYsMN2!zb_ZE&X=wbT9&bRr}fJy;M@K(cksqHwRN? zoqZyM&!*`_CZSrYcpw<9sDcU#jYawnh=ztRv+n`9s zxAA^n_PAS6=nK_ROvCC{yHU9`TiD>;+Uza6MXMLzC%#kYd*OUa*nLzyCo3phgS``N^ v@FVo;Obo!*63C#>_`e0|A4mFc5`q8X|J5a1OD5)j|GVyOC$c&<8z4yaru4Da%FPRI48H!T{D0X~R?2%)NyH zBVVCzF@C&cOEP5FnoVv0k@Yy=AZZ_&-O8R@%^ulh`5VA@x?ftJdYBYPVP=YJ{Z=VU zutB-jCBjDR<+!Q%^4au1uCx338E+P55y}gRz>Y?CaF=omryv!SZJuU_aGA9?9=w;yinlMdq>nwML&FCxJOjC6jqZ+yzW!?dh%OTX%w9_jAZrvvIKNsBoN)>0WK6`S>DqE-Tto2tyT zZ(ZH4xzlCIx7MLZh8vW)DMMtf*8B(sAxM+2ebJeVAvkQ^#Dn~8@wN@=lS=S<(ancF z>R_EktNOGl;RJ_OXFYdhilheO*ZFqg2L~Q`=8}dFvO~JMBLT`106co2|iA?2}&BezN;9sAts@Ps(W7 z;1{jfoyg`O^&Itpn>JS%hJ-&J<_)psIi-y~x3*R;#aB@>Ty8GukX6rkY7d~r(oL8$ z+Mo5pF3@i18&&y(b0nIf$A&y%0h{G-=3Klc9$2=Cn^`;zo4Er9Ptz$*S&c)A z4Tqr+qDjFX%{3D&_4D#^RAto66-YQ4-{P@+=vQbss)W52PW4 zdWniDM^6@QRht^AE*P3S8kbvR`V9k%k7v>!b{8ra*G?QTI*93TVvN7{%=uo&Pi-5$ z(P4!zRlKINpDHVukxke{SjKK-5O>g1>l-s0FRPu6dRQmM=0=4aKUb`;O@_{Ke4-az z@Fl*XYkYv=FHA(nV-c7wpRPS!_O0!}cg@Zqrf7074c$v8T)Z5w#%iEoh z645iC+a&F}Bkz{>&use6hotlFvo(&3Ehq6gy`Da2p`tTV*9U`NK!?iXy}L59hTHL# z0K|%PH3jtn@1gj%)i=MBbf=TOTdXnPxH!JVBm@+QoY?DAPMXy&@|L>?-t8C6T^99Zhbtk3I2_3ynG zePLZbS{I?@Xm>7I-FZymb^nW|t*TWk58z_CdEV)G%PE$CZ6R8}3V z$KEEcMIeFndO3qsfkOO}S3#mafwkqzy1i;f<)4Blz3lVP>gi6MWH|-Fnj4*LXWVC{ z%to$&VnaW_@#Pv$y(dp}@<`v3_I+~6&b7zT`CW@Xa(a4t;Hxp463D(?Tc#V`g3QOl zKl+^x(!4MDIOB{wA2qG6LcF;FLM|zg%!l(WGc1DgWSYhow-^oPsUjQCcOD~3z!Hwx zvx+G``Q@OB;|olMVz0GT!46~FV08cQ$L}~@(<1xZx&@ha+ml0Up9RG_MHP(PacWv? zhyP^0zj&e$jZ-OeJm$caKt-!02=KP!bcdwC(LZ2Mta~5BMH9d=u9DKnbG7KoD@LFK z)<}r7`;Me?&`OLlasS3N*P^yvf^Z%OHL1kVwdTne0OD*-vI~tv-w>T0HPiCoRx7Qm)@ zb{x8w%fX(zeBV@29*@ zVYRU-=kk~Q6Gg>+Is^u1?{KFX%dz{IU0uc*8q1&Dm3!EKGF{x_-K`7PW@}Dr9}!A( zU|f50rQwpXl(g9CJA$xu(Ck-?2SLW7_{_0a+f&eZnG11XuEpHM_~;c&Ex9}#W2s3^ zpDlI7QzPkK+t{-9c=T=cO3r?A?vW5RQwRp6Gb%T6=vnTor(USi8vMs$Ly+12d})0R zzCu;Vz3uV%Vr4NM?&AQ#Tg`puP&S?MEgdfgZg{j2jibNkO&~p~9DNatKTB0EFy35F zef!y-M)>6_zv@`w%fN}Bf?g7Lt!|j2+W6d>taqP2q?uSU;HtKo;Ywo_Pl{dUya(9O z)=IK-Q;dQQx8IQ1EhL+M^%{Ou8M0}4;@MFnI+2Ws%HdxVTU)DA3JmlQcM@=eq*6rf zq+uU~Uly8Tnzop8Z|2rHb&-$!sa9guli@Z;9!c*Rk;;qMN0+Y~F1olGEb{Vfb?NR( z#c|b3N1~)L7hPm4VPgd3y~2XX`dIBSR#cwft_YyMkcBk>&!GK~g50 zJ@Z%_9sh+EM5`3hpnj5CeeC@ui~Zd>)_t@Ch{ufgf9vEgQ2v|ipnvE8wF=sSU*O+A P=x=d<_rYKP0Kk6$zBEoa literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.22-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..6f18449715dc65e93b071eac1a3fed46c551edb2 GIT binary patch literal 2489 zcmbW3S3KJb1BU-%OG#_AHG|Nq9+iWbJ%qGo5qmUhS3?>*v07rQS*=ZRsJ*w^qol3c zBgd-HV~3)LTJ`mO_utL;z8BB$y?E~*v>rW!8UO+~fXB|K<^}fq3TrF?5ULIUiU0r* zpI~v$QberJ6Dc2OFTA~%zm%gp-U;i2b;nED<8XJp-Ep?geje^#KDPE=j!&=z=R2<6 z?s!%PM!*IDLIB{8=x7(⋙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 D6xeVL literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.23-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..4803c265c184292659a61edf26b826a1fc4e985f GIT binary patch literal 2487 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 UWvoxn@b4e=r>=jf0{M6S2m9TbsQ>@~ literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.23-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..5370750bd1839a75f61a70567c921e7cc11b06e9 GIT binary patch literal 2359 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.24-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..56d586bd7d97d6cbde7537ac05ff712c0fd77d99 GIT binary patch literal 2484 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 SS=s*m1OKVdKLm6ByZ!@HHMSH0 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.24-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..440fb6ac64112a3f9c4b4aee11a8cd8a7bfc5fb7 GIT binary patch literal 2355 zcmbW(X&@7f0|xN9$yFh1m?KvhLd&_B9Gkml=E{|vZSD!ZOHqzqvLtt*6uG9M+(r!{ zUYRp;P7BHAzW%-c@Bc6V=lSq_dcObctvEO@1K0sVfSbPiXvBgE&WjfS=+grLbO8VW z-ajDN7lIFn@P|bBhGD(JZbN)<*c$;60XQtgD>zs^92e~28y$iRi}3IY^YIUe@>LHE z$6@(6xd83}z+C{qC@INL`#?Li=%0al1Ht@{*Z_q#aN^%rK`^Ci{wAnMbEp}65qUQa z&4*}5rhQp&VTgVKu90Ep3qU7llBi{9dIMv6HGN?JhbI)W)71jkeUTV*f9cUFr32|A zf*JB!WxU9M<=Ne&fa1xN<7<;gPg6T*C$+${@qitLbiWR8-F8+ITe@+wg|^U41K0Ex zX>sHVIPSE`_EdYCo^XanFNpCyf-{!rgWGFx#0i$S!2%+tGkZuEXzydRC^Ve=(${-%w35%ylMD50X z4o(am-p5z1 zCS~A0m1P_$955Ywm{k*sKNQ{;m247Vi`v#)9-ZAyRdbArhFTJNS89ZsujhMq>nZt! z3ql+xdbp+RGmuMQmG%}=Ds1q&a|31j!?e28rOn)A)rs6kC+S0*(;@k>ND!xY`Ft@L zDFxp*6PMTxkgMkYJVO0k#K++_rfkj` zDN_ud5qU{#b>t~)g7gdT3OTW}!0W){8Bq2>C+Eo|TwOa}+w}MMQli-xO{n#9$f|Dv zTLQmyW(-?!7=)^Xde%RG_ml(wsjiuMo65Ts_N*I(A14hhSptQ*-Or+FthssPv*O&} zcB+LguGqN=J?%)Wyt|BuEuXX&`gO=Jwcpj# z*guC~(kmB~|A|NbAF4gahWuw)OaZOJ_sRn-y|R z*pw4$fW2z&Tci+nMD5qmYgiIL!V8h;)6%KpAh&E{JRXv*bewJjQvRf(DYpF4)<5bv zC9C{nNU{CLYMQIn#7=qJQr>&%rT5D1#f`!lHy}c@+qsc)gtboTA=c`^6M6eawB(m_ zR~j_24d%nQYL*%_u5{&yJgA}+S4zJsT~_Z+{rf#I6Lpzg(p7sF zvbc%IkW=~QO*iR&@t(9%$BR5hGc-llA8$%Wdl=_}UocNVuC z6(gJsrefkdK@VNA~eS=@ptOM6YIfW92hgEJO zGl?_cj&%{o6^i&w{bn?u+DUG+J0saBJ5@|Y&~Xp-d)U??krJdnkEo38|EC`DEHP*W z>}p=YwKM-5773|zRnJjDLH6xZP5roY^|I^JU#~sQPgY%k1zdtF-rx)6~*|6t_x((_g^zd)gdODwX))~ab?)GBd0_bBVvo!yb({=6@^^xK6P{FC*q=R5o zhicEuF+moLo(yhAF2_*YK*Ca> zoou16jhCiGanS>hsFxfmmIpTPFIN@wOv?Z_G}ffiSVf9;NAuOA5}l%H&ic1GKgY%N z&>0ff6dGVxX-wL@qw09)zUjCk9miR)xLgT-)3+n}0j32nH^@oABFQ#=hTD5L_Rh;E z?mF^3=ofrYP5L?H(e~@QPh7mQsfOLM{`NcW^FmeGhTItW7fGX->CtR~Xeck`Rq4Q{ zI(0QTsmUDuf%(XoVHE+UTO_wMwbF)tO zfeX?xcNFU*+^FyVGWQ&;j5l>nW`Eccb|MC1afFtT4xSCr|7u}GcDXOZ4~j=*Z7j&> z(4_-~hZO9@$Y`_~S#N4Tu!TWbOdY(=(~A%^H=O--ZywDt=NA)JSi)&!jUQ&W`~7g_ vD)@+I&|z=I#(tUOf5YXEUH+T9Z2!*x%NTnrF7AK-Y=3(5&o=y_5diQXuG4Fm literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.25-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..7fb6356a2ae9d86034371412ce5d2d3345956efb GIT binary patch literal 2484 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.26-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..caa44f7fcd6a6bb97283bc3d94fcf165064f9a91 GIT binary patch literal 2486 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 BVqE|L literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.3-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..d2ec118e779a510b51c117ddc3e3ea949132483d GIT binary patch literal 2009 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 J{ljhm_zw-7r_}%e literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.5-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..e63e3399719e909858acde5b156a8583ed008ae4 GIT binary patch literal 2016 zcmbW&Yar7L0|xN_To2QZTtX#LtlT5(at`faX6AMf+01D`S0OCUkM7%*fAtuBi1|LQ8i@IzOKqdteVhCiCfgh1*7)>Vn;1eRqQ87M#Q2`-@ zIJ{wKG?^qLAqn6BAQb@2v$BFscT6KI*n=&<>??gqB5410gqrJe&;nWqZi6YdM3 znm1|gGN?{F+R#FWKxs(zTeF4D->M#-4NA6=be7kBj3=;^RLTTV^9_BCfe zbVs8i1!3paf>vI za1^?&A0na*W8AQC9PQm1)WoAOt?I9$Sz$9X9>F^5ex9uBcD35*Sn1A&N*K&TBUE72 zv?9-3`-WZ@*Ev7Pb)jFdRo^_n$fXwlLC;i5B;{%v*Fm@{FCq7LC#1d_<7V2uFDVRw zTS&-}cH!mTRyo3$XyMZU2RESP^3Z_WR&&LdUU{6uHL83U=7>5Qm%MH4_ zJ-oBVM%1I@qPO=FHzhqouuuHkcgrdsc$JhxXB^hyZy96lq0s{}!R~8HqI9UA+(tI` zNypkpxp5b++|FY7BPSbA6a*f}IMR;(Po#1)ELyO2?I%l>;5l^u!la#UjI8}DBEIOP zOljcL0du%z3QM^Kb#-wrqC*@vEwgn?u_+sV; zU!i0#bHLz?==2_ zwdrDx-bc5H%q;jt_xIX6m=jMw_}KZQ%CP%tmna>D;2T5iZLP`qzN+yL6bW6p;oo|% z^^!*K3U03BJnJh3OPX+DaOhzReRO9NqJnxK>!9(O*pcKe^;#>Lt)SNej%esjzcYui zGPdtdLPmo+c6=McjrGE}2tXMV(#~?D?&mE{&8b z`@#5exvi7^@RkHKu;O{_qv@RO0os8PweHT6^tv)m)&7^Ghn&T+%r3>ndQ*L*Svp?e0jM*Ub#$wo?sv5^tnp-7sRhXDh8dvG{@dqC)T-Y<_X(wlxQTC9} z!cOO%Qf9|4-C4wPX%L-)5EC%J((%d%cbav=&xeD(uebFH{Q=5cA@u$WUB3_pdp*$! znKCLU8h*f+3=hwbu{02oLE9oT-DlEhDPE{%pVK__cYE)3XN>=4p9OA!&UZzlU%d5s zs}!PB;Wv9~f`RZf@|4l#T?#3}S++H8GnM5ky47Xq3((>vWQDU0Ja zGBu@)1S`HV{BiJv>twmcX0dvaUcb*--piA;Bw$_4`f8~@)&iOKp)m_7ga{#sX=2tpq znbI$TRrmaIMe&dg|K#S+*9c+R>CGEa_tGWEl&97sa>bubdL)q3VIQe;YVZ}RspQm# z>1#>7Yt-Fu#EK5(WDMLATXozk)=MjL=n&IJFnpy^KUBvr(JN_xb>O#v2Yc6A$D)rmT%L?A47V+66BcukG}YX-I25 zOiqEXb$;+(_(Ft891ttQTEAu6#?MHUzY_#P5i3-j%EGmc1yJnE{qM z3hCoBNs(<`3{KwjfI`dR_pM@Y`UwN~e(f{=ekO?Sj0TBa5dYuG{($zsNd^5o|F5~u UXi2Gm|DYcY`mupO90!1Z04@>CIsgCw literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.6-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..39002cfdd3ae14e4d23d7449d5489a54df6a700f GIT binary patch literal 2007 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.4.8-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..08d58996ee39718c7b98eb32c917d912ef43b8c4 GIT binary patch literal 2091 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 Gzw19KWRA=L literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.0-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..dc3e2a07cbd517e30830f300aedea1bc3f78574a GIT binary patch literal 2361 zcmbW(Yar7L0|xLvAzREXY$}&1owAur5ppYGL(4rU*I6^MG1ut06ESj6r!dMnxs+Tc zZ054UiHR~MizH(njJ3eIX;?9Mwx2 zmDlAI7%tvqg3?Plwvyf$SDiBGAE37tFTR?@s$4?(*R|C7s2&ma3=?Ro`0KKRt7PJ) z7V{Zu*<%WNU^HT<*8;k8<{Hsr$f<#K^Hp`G25Ih^x8Je1%vW0hxtw%gy?*NDDoQ|J zpUlc%qODVrq3W)Rk>SgixGCV*KdjvPpQ2#~ec-J8>xFs z9X|5zHz;JrEL;eq`s?R`K&JMYO4f_4>E?G+35&@;6^=GBv^wS24 zu+TP}95){9`lLr%|ofhqw_EVisP>POpt!?LSu? zEBCQIyS%vG;P3}Yj$mQvwn}ZIH}+LLHVGTzzdNEF2t)Bu2d1kW85M5C`xEAQEY$|) zhwJko`DTD=rJOND9lSzJHr;i43glNl3O`ANjRRY_Id^-8-%yMvtN@1Nd} zh}|N9R4PJG*p}ite2a?DMI1!(!iwT+bfN|wv6Fc19$v$u-QFQQR#%G%IZZN;^!{$@bUfg zQWxhB+D>jh@?km(Zb6m8B9_&imW(6zG`W8~&AZ28K?(}u0~ z4^!>Zr)*6NGuCQS|nDG2v>kOW^%@v;7>V(v{76ftzeF{aNR! zlfJuLkL3mJ1-&Rsi$mgadI7A|GluRjrJuEN(#T_dW?F|Hts%%T6vH%5`~hcue7ZAC zmZjQ1hZP&E->ideq3^=QIy?ix5kd=3f~DUXD9O_KINcgV)CEfAmldPP-VKTZ`>Ij0 zNG-XBdYOMYmLnMFFNA1(ADt7dQ8o4WB2jvTp*wRRAPXoYl;rvO%=uIsxyqQbAJ;pg z^P+?igG)&<*rxpFj8Y`Cz$6LmU!yOT?Na0XBkF;8B-38ClHXw`8 z{i3FN5~Jii|Il4+oOITSmt_}&ZepkOo>LC&JF9G>m9FjN?}w~L>;6({uPHzrpGbSS z2n7=>mZq1~o5s<%t)^{fjxdCkLUU^Hd`at_=s9reNUv+3if`4HvB3GH2SxPw;Sdwu z9(~0{Ir4)A-SD(!6V1wRyM`%-T0{Qpc*Rq=^>4F(LwoVdYTI_cKjgOFBl$*jx_$=C zas6Yvqh_j?5>!{YEgjp`IWBZ%sAGTa%~Y&bNcj?fQQ&Ph6C=b|rrZ@aE0nxZP<-}y z__MYbs;9e-&k77yZEI$1Jt-#ND1R;~*(*Q&E)!xhM5)q#Oidx|tVZQz-^=9I>jj+` z!&#KNRG;8F#W8Q)mwy6XJ6zeva|WdjuZV3*CXyvNAS^kIWq*ElR7yV^9 z>^{iyL+Pg=iG<~Z<>=Sq9|}1xs|w~1zkvj8xi{%A;gt(@_ocaLTVFSZryPk{ljQ?CLsDZ#|MOJ z+1Wc6+*A{Q7kJ}yICPPIEjdy=CimOA;gfTKSx@oU0k>l6tfkr&S!(u|2u=H_7QZ3o zWcWLhC2}$o`L?t9MhMTWgk}eYi&yYG2M)e09nR7HKAJnJ%4>KdT|j$H+c_(-H9qg{ zj*2mzAk+tTdwP1oqS~1=Ni-kOSJ{cSIbBN0UBp~@V;=lCFdt7ei?kkxe7JY4_g7A2 zz;p%$#S(dHdHbM>{=giA77#Q!^uPJ?Q!xKcoWQ^H|6&G%78d#UFYvRselFuDkO1Hx D*X>;( literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.1-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..1db3a7dbd0fddb242bde5cde2f8995985230fbca GIT binary patch literal 2473 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 K_>*#=U+F(>yNxRV literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.1-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..4c83cb55522cbc4965675875373b234a3846e8dc GIT binary patch literal 2362 zcmbW(X&}>$0|)RQjb_e`7;1Qg9CI#BM0hAi3>k9GF;{y`%#qx4>I}`7;7%?zVpnfvHL_;eSpx?vI9(*?ZJP<2mJ&@~&VVW% z%FyG@EFCHmMF*}*?ok4tOx-VEUQP9+wFB;AlQR4aQ{NE=}&AaY-w)#pz@f{Qpqcl%^h>?Q_)=wo7L%GSDL@_K$b=K zqB0%$8K@vZBc+{_Eb_yo#*@ZUO^L5iQFWXl_HlTtcUWoKQ^LLJ%WSB9}%5%hoWOLT< z?5K95zcp3Qmk#AuZ*$DrFgE?M^qT0zm)RFD*izcJ`g@bNTU+#82CHeIv=$$I)Tr3N z6BlY&dBFyvF!gC`&G{UvuHY)vu6Fq2w)z%w4fH)n&Fb>&chy&onZ%j>;;tsX4-Cv= znB1!UPL3kGf!Vh^8f!=+GJP4iDxzAZQ>8s6Q%-(%O_}oTv1y?Rhyho26nHTvASxj! zEgfQO9dCN{a=Q-Zs3c-DLr1GBr}^WA;s-N(blJ0z4X9lB-~p;|M@K1{DON7)ZpI6n z{Xt&a7gUsfZove4qVyMiHyaprL9th6(^x89x}w=NuBUmHvtpPin!%O(zuFiN$n;q1 zw)V@PERQuWir1w76327%=oNp8o}C{Y}S4Yue9{0>&V8zrvkhtq- zABT?e2C$}NkfRzfw}4TJ5{{K8Z?c38?|)b-2-QXq^n8BCf-?aFR}u-PiMNe@NL+`(a66}BKRe{SKGnL1)4w-h*vM+F;eP}F+v zgP}l44L`|5JN;Ci1%9knk?}g^Y?s7>8CrI!*fXADvUf11NMxHtk|BX8zE8;eK@FAySG{86j+GGNDDw4rjfy?*d4^GoM(smj5l2T_h@n?n1e z1&8D%Cz+eu3*M@a+Qk##&#;4Ss!}<<4Nyo(O$T*{*^=NGxHeIvsIXTtNRr3&ooM^mY*X4APeqose(M#hWVq3_5FW zKqyOE`mr{5a!~gj#y3PQeiO$K|IwsKVS#tdK-czeY~~r86}M}&r&|uc$d1~tOu{=N zc@DXsrJ65W%h^IMtN6cXiSe?PCVy{{avit~a&y6Cs+9k(b$mf(QDfWS#*XmrLGH9- zkL0FEFXQ~4vbP!#`pe~0I-29Q!`^l4LM{y=+K-%04}In9;kQlCD*5KNmp=UK8rv@p znPOzlr!VkVL-wO^?Xxx-t6~wYC%Wdd7)PNdEv8fE*v<*PL4g^9CjReIKm z@;JD6S|WI~cCD-Mp}dhe%r)Ak?ROfR55KTd^`q}0y4Rh%b@hJqI7h=I3eC?UK9Ipcn>i0lcpR8(uMsiwo6Qk;y)^EZH>ec6mc>5n)TQ5kupCF{0RN?4+AGy z3%X8}%+n@kq>gX{@XU=zi_N0b1|wUn$HvxAj z_qWl!aQ#_co$IJ>RgHYfjZXY;zx*W3f0MxV@BF`-!C3L|{`=?pS-+p#{!>T* F@DHKPV`2aR literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.10-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..bc9af62fb79d852d91fe52a01b1d438ce58adbad GIT binary patch literal 2463 zcmbW3X*?4S1IIT;My}k1geH;ZzCw;R(-34h;zcqj0f(9O}hf>WRbLaei7qWlmL!k^tC~&$>sHYTGTq0ke!s4qh=jf&5I8 zyim`>!F3yfn%57?AdTzYO)2FmVA~&d&fLZGU(Y+Aa#$XEgb3IuS_SIulgw}EsYIdO zZ2pd{m&4!q_0s?8TL(vi_irKN5lujYRbs^b_lQN7O4SblOW5XePGq`lYwq3Bu#+1O zt1bol*Wkmmg`mv9q^h(G8gEy=nWUR;PLSRABv|;*p~?PhA%CBF`)VF8k|*V;=m3Ni zP!5tBv5yJ%pWnf5wWycab)~Nxi12qgKEw#^k`PUX#j6+XSbX}7wX58o?>jl43vs)+-f?Nv%#d=t(y(XC0% zNA@w$YBOr1CrrIb@4KJGBGdDyA&;)^R5doWMu~&c)0+qW84Pcn>OW?w55c;a<)-aY zRdyE=7Z@sJ!fDRoulh_z0obEo;9^K@xq_Y64+je@)>vp8s)B6l^$n#sPJWjhzezp6B zB|*y(VjsP=XmTHrv1dTkXh zLhMGEscy*cNb!I#1kT?ExdSD>PA`oen!ci@F6qSD!H3V#Qw@7m22evfsp$d)cXEg6 zwqN+zr|~lQ{G;HN$!(mAGY5qrLpnV^w&H-)bacF;KQ;!i<{9X4l#mqG)1UKK&fewP zxUl2ec(8vJPk{9I``M>OEEuv?{M8XAlyYv(;s>m= zxwS7IM&hXMhj|>f_$}Tk%X^Ces#-=bZm&Xr3XwX2vhaQ;J-jGf@{vKafiQg z^C_hGRK_VBh<+nw&tO~Uj7<+FGA0f#o_qZ1vB*fGqzilU4UR}wGj)oR$>CC;QUB4B z|J6LAL{N_Vv@itC)aSjqpHti?lXy6|>{u>7rXk@w=Q#tvuMsS`x9kxxK;#@{((a>7 zA1gY4G0NO&23Cbu0^U^HR5-9a$c&w=kgL9^z1S!|QnQ`!!QKDfj+3qI+_y-+cO_0a z)Jcz1Bm!Z76$4A)6ZFvRMLV6Eu4c<;{b@6-Gl4m+m;3V9%?j6QZrig>McTsBTW8s8 z-*rk3rlr(<#^4lP>yDtNiRSKff;|`Sk!h|F-#SA04kuh_-;%GTcIGctAcT&HZ2DX1*^_~nilA9L zbFnK4nR3TW1C;9CJGbJ_k_(&og0|gKK`10Nn!)`21o;IxZZ&^Fz>ikRDbG^%yJruh zkfQX_L9htRR-4v2SYE5imlBk5B258Zl7YDtg?3?cD9u$muCC`Bo~nuFLO^GSt|A3D z3DPvhf-nx5_?_^6syeSl?)c2MPTuVsdWN>%=Z@>B+17-@oVyFsq)C4NhH8}VbNz+u z8zptK_-FKJNA09Fi%LrkH|eXIIR~`THMI^v^7Uf#O11F@XC#$%H<7CZUS_MLAPI zf`*hdFnCDRVnnFplC`K3v#!`_H_*%pa8+gs$lckeCfK49EO=N0AqRL|qi5h1#;<&i zsx+ES{}D-`AX5k*SminM{;^XfTG>&bQLo1G5uV>=CI z&rM%K@HMb(WT)(5pfD4vXLZM6C@%R!#Cex{t0MAdnW?d(Q&75!^z}Nr#G;8zKSE{nNlU?Y^ONM5Ha4|)d-dBi(Gc^9ADI3ej7m+M+6ga%$YdWQvLF{QYv<{sXrPf- z!#2c0R%&{nxk6mV3)m?x1|k+|oy+3s=ks&p<;RiB44shVoUQs}+f)0O^kD4oLG$=n z?^2Cf+OUYzxBZ)tT00Q(dGov@d#5h`;u}@IPX}_Li%&$I)$N7? zAz?<9f>X`-6mFJHb>{$%gUAYYrPnduhquJ16jim(*!Liwv#~%23bWZ;laUKPJLz>& zq>#90omhLrO6I*w%nuC$TqO3a3&m0XB9s>{t;J3&*A_*%TPM`V)x&xPdO>ju+t!Sr zl$*Hb@!#$X+X3C;R#FonQ7>G}vPg~+^Ihw}%kuPu^>^1NJy@-_)8@e4{o1YqVmp*U zzT%+FE1e8OF}Tm|j5xpEvjxzz@Cthu@YH@yFlgBrO;ORPuM9uAXx={7^zwbD`%C+k zuTDuvJ@sOFbvK^mfmq& zXUX_n8>)gRrIF%EDcmOe2GEL}POwEZuTWVmHV|(FwG=BhpT612D%>j5d|W||Q*pOO zWPftEdhG9mFKH_JIh3G$obbSiE;ud{qa)lVY5dEk=+dEB?BJu;JK2VFV=@jYBh$X^ x(TRTISx4wES8OeTEQYNATax~G(ti^V{1^YPGTBkS@Q520Js7F05HD0S3DIW*1QD(03RIyKpOx6 zgkrFGUuY;c2m=lBCHi|4!=XL||7+MFEWsb@jmN`o5%8YAVF3hUkf%4%2ZIgqh2d@y z{DHiO0B8Up3II5tnCOSxLk1R8zc%Oz7j*e!!SChcQXHi9AvK4aH9;+bCfvnuw^OeG zE!r-o_ODRp#rma|-s+qFlyY*Z6*CV^Yn&fnO#8aa^3sHEbyAGAi{c_;W*#1e>?ssS znp||OiUxf(KenBSEnz<3I5H2ik~^lD2>GdKz!o^ouU)==Gdqzh&9Gpnj78=;y4VjE zZ@J&IWD6>2o05t2r*obgG&Q1D>cS8q+>zKj988Qf5U zTyI`05Z`3E$>#kQK@YhB8y@4BU%6&zlw@X9g+JrbGo!1{j}&;5m}<)1F%6T0J$oJ6 zwHu2Z&G_UpBq{YL8!i1~Evr#>8Gmz3-|iRV5@1O5D*F0-bd%yL);8)Cz^BY`;_Q5H z7s856{yh?-u-VBGG}u4j?@rN>smg85(b-ZxGjU1lp4{Z5J2>Km+2HD+;G43GUDF8Q z$TE>X@wo8=(dUDS-_X_K>*CqOphDH|nMl${k~NgU^UeEP%0qpgjva{tR3$F*(MC^t zcJ-!_j+GbbdSj_*;A#1yvAHsS8%OvP>c)%!qZXoD-$pK22}XzlwD$?RQtKe5dZmn) z*;iV#t!a99Sl&uub5e|_zRioliKn7)Fp{X2dF`Js1Q2_fBUfKXy9TKfBIG~kjuJGL zm_R$*Co~9(8dOKRDba}F!&*ary;&pJtN6niXCZ8^?lyXzRlc!tR8P>jUgBla?k*hm+?~8cIr#Vdl8utG*W2C>cm4M#p%oTx z)3oj#zPcSpoxysxvOxtU!MY=;Oc6Ea_q!G=xfh5td^ACyy`lrg$>fM(trN~gQi8D4 zKHRE>QYqEa@dZU`lbQ_oB6purx4Rv9D6ykKP;*$m#HY?_w zmD==}Ip}Tt{-=7{X=OJaL}4eXCNjpY4=9>&uky8z16X zbG#7tjH9Orxn-|n8ySiW2~ATskj?ot(xt)=a<~~B#c+TB8gTM2*eIGbv5Y4R2V}e*^{N>U*gVvC$~|)43Z6W*L2_N?7xDaO-#Z zG#8lLMN?L}jj{)KBX<+jHI_Ew2Vc{}Dqbjk=d zZ^u4sQb??WF~S=Bb6(Y^zG@1Ps?e=JGY2UY-Z-()dJWQI0yOKNydC1m8@s9YQq+D` z8tbWS>KVXyZcR7|;v5+<3Bi|i-DbpE2I;vAA53w-5cog?)pj;!AkBHQAD4$>N8^o^ z$T3FCwl2QR+=M(s{qw{Wgvd>@>3tv~DDX{Bo6Srf55gzS4Z%CbG`j zVv`*jmQJW7JiR%%kglFiQNhDo#*Z_cn=19T#jORml{mAP&6;Zf3|TXW^ZOEvI#jhw z@jZO4lJ1$hjZ>Gn@G8Ki3M~3gTK@4o&0O{H3w({Fj`xSCYph^@kz*S)EgSdL?u17c zq*CSnh0O2_I`1>({IQzm>X9rDu9%~bR^U<9ndw3o#O+SZ#xde8<$vTu0wpm;B#-m` zXsE8U8%^zQZppay^4x-)Hb{?T-^$8}dPh`EUOjlJ4rxPga|v^{=wMc1Z*PgjpRo!X z3nuxVLS4W~FKTkwCV43vF)Pi6OzyDLTdpA8eAn95)P@gBQF%4R6ZhlH!=E3YNWj5& zDQZ*ToJozT2lI?&<}S*dHvnAV#xM?f>GPHJ9CxsHt>(M@RZ6=F&J3|gVBarb>aK@V zql$gJ)kq+_;6&3y{UzeRv^CzfNX#C*Z(g0_8Fz7)$G2duC7c&7>P+r_C+`%oKj)42 zw8ss%7&}Zi)wW}t*-<+WEG8|mr! zfYH+kCqEMvRMz$+bMuvmESK5vh)?Q^rQE7Lku9Qo#cAjahT!<(7pqQ(7lcKZq9xU^z$RR2!vRa!>mlH{m!| z7N}8xng_a>lKiwHnVh7M%xbar@!E7{k+=)h;iqQ7 z9A-;|rOAge>SeV1z8^A(&BGQ`cdagUL5D>f%+%2iT!u=x>w&U+R)zjO*#}R_l~&Nb zrk_3tU__sU0NBaq{4l~*CqB+Z8!fdKMY3-or1;h_Q~Q+Ire2>$8i1Fh+E*}~KGPl_ qJ4-HZ1D^j4m%n!TZ=$&Vo&T3Hc9w_u{{3_P?e)Lg_?Jciz<&TSe0A0U literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.11-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..c4a70b293480cdc4897d7d5a69ddd72f821f132e GIT binary patch literal 2468 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.13-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..10ceb1b03750649a2eee946c699c9f02ad071c3b GIT binary patch literal 2467 zcmbW3S3KJb1BU-rQ6ea+L6s7tMvdAfty)3Ftl8FxCWKU|eT;*~PTQcA6H*#`RdBS_ zh}yIWYSghQrPi^>cg}bJ-F)wR@%-M4_x?ecGBN7`i~tvaLLS@kfxOQL*#O`O1^^lW z00g1X7^Hjl+@R_jE(ktwsOB^FBh;@>uM-B2e>_%`KWJ~dtC1HM8ncwlBXuH5 zjx>NqG=aq7w5vS zs8J;o#udW+>NhPR)t+~4w|c>Qp;_U5vIaNhSqw&h@xy*`1~mU*7b-2V4ATzv!3PKp zIWn##Bv64)c5ACHgrKYU{?ywYTqCa2GA)mqijpO3rRn4vfe7M2s+r5~#5dXq-q6h@V6tEA5u6fzpdlPt8O zKxPpFKcd||Jcc`}%p1U4t~)$J=8?Z~)4$K*t1ej#iN0Z6j1ibZgMwSA=eJ-)l!k0q zhf|z5MA78<2G-6~(sOw{>}yS3QnP(icTN2GQu~8qP3%o9PH^7I_JC ztQUB>l@U|%&E^gBHrYJb&oB@cgWw_7;bv9Y2S6%{wO(Tb4TkGSB1_45xumKN(miXu zX!qpiQkumaXV;jZ$m&R-?Ue9OJ*KCO^acv3p{gUrOkk6WAsLPObLQ~aF{Ko{VLbWgZUG+wf`+c(0Ui6eV?IIRi?7y!daYS)9TVl~O?>?5svGQng2eI_$fCd<1g}KXflff! zT7pxp2Lx$EsrD>qcy@0Ip250zpgG*;A5HJEH(`uKJDYxkE|prXc;b3FC`cxSKDhL% zX8as8Z)%y^)>9Oc_FR1a-cU$MW|d^rqi9md?_E+ip#fz`{hR&iu#`;YZ7!MNV846!qMOg=mqy;-`TD4w>Dx_ zlOKO6TSi~Vt<^BvK9n^n=r~8(Xfv`Sfo*U5D{if9AaN`qg+C@%7ksxyW`x7-MB40^ zW;L#Uxjz$bI|wZhku9m^rM$P8V5VORW`j`ABY3#}p5iNFBglycWLTWMIfNaEmnvij^z2EI{VCgLt{&(PGb+LV6q{T@g>6msS4 z#PPkox>33VyrQn@0XTQ@!jP!Q+^VYBM&kkjJZLkxM%{m#%9Pk{o+_>4QW%R6CPUY5 zJgN>gLd3b0wSV#^hM`6UyR~^fRr}zBO4FLder4aD(xU|r4cp1XTa||!AHI1d>Ektq z_!gg*HAGiWw$nP|V9jAwmHSyA2>zQK;>Y~$79_mjCV%ceS|lM_e+&bCyvF7*jHK)5 z)a+5#h_B*nG`<}0a{f9k3%?I+4LQbAbOBA`WfqNO-COR_^$qRr^?XK|j(Sc-u+nty z8)8~HEPc)&`xPTSB8{8#Uz8@r%?Ek*;3?TODX3E70=5*IF|7Y*R?uk!spNgJcc*~5 zKvu!-4M8ss|1Tbg$s)TR>2eocE{+%aT_`*Ybu4n9&ju-GndG-GOmCN3XisdgMt1R5 zbS6M_6U1PRh_fioS&0~iOTl2jBrGGT=9|6m-UPfR(3JYBZzVSsH#(Rw@nW}!+XBAo zkWMxmxGZ_{``%4J!fbCT2w=Ta>(BPHcyNhs*=ehhTn2p$u}C(^iPXOr`u)%Ws!TaZ zem)~%GA*dD7U1#THmjsG>Fe@{j1kY~h}2G2v7mP`)Wyb4&It4Av368c_G#t~qs>Mi z>6f@`h3RHbY^5khDTQh{1&q(qyFU!?>Wm*3KaC)9-jaYm6b@F7y~E+uF=HZQ$T~Hz zn#$Q&Qns#CMh{`b6HF(I(mp^xBv$)q6gjT&IbZP7x}0cCM{^H{cshQ}Hr}S_2=5ww~rsxReetrmQ z89MDvoxl4dmVEx;qcngpWnk1}`ro4Tk1PE*Q4Ig$|J5dhDa(a_{|x`s^B+pF|GWMJ D98;5W literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.13-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..0818575feb29d77beba53ac2c99b37c385c34fd5 GIT binary patch literal 2356 zcmbW(X&@7f0|xN9Thbr1Bv*u7TgeeBQ@Q6HhBDX8%rV!NBe9XjpG#g@*)2L_p)BBK$E4(NVDk|G-#uDDDad z8WtCY2a1XTPyhf4063SKi8b6djA4upHJyGK*~R2F^FHzOh6H~Fm_Rn!9T!Z?GLq64Z^|6s zR%N7GJGfVqK|^*5zcO(Tr>J}GQ@cgky>nBiROZNlP0c)Pk4ocDTBcB*Wyw}$L20j< z;s@e9JOcQv^@UZ2f#7yJ_JALX!pHR7)3W6GDMre@c5XvoJG&P)bzr-1M@ZMmpz)8Q zT2Z5{#qA<}x4$MOF#=js*NR@ojT#fzQiV^Q+*i>AvYKiL7%na%!--y~b&qqEF{<<19U2U=H$MRyEuctsXWn@_5|HsL`4%>GhR?Q~LsbZD?0*ydP{cZ#d2z z#|`IZZ&q{&_NK-`pUzZa1fu1y$69*=_oU8MaHfmWoOX!WW0w$*Sdx0T^S5+irI2vc z_^)>SL(5ad>8{p5Am6GfHo24Z)tC{K8?{Q~UMcOQ(EJ$-7_u ze)fgw(0#W*y|srxR_+w?c!}^5THza-1`60{@opVZ%I=b!JCZn0V^h3&-y4P0VRCk@ zR{WRDp5kKxBcIEd@>LN!7u%R~?Q}oCNP~`At9sTsThCzI zzU-K$OrVk*mr{{7hjb)B92cd}XBj5}YEK{H@?=9!XQ)$jJzPeSY2MZjkk<7|;Y-|Z zxSf=LZ4sHtB zz>^A~4MiB|#`X6_V`DYU7LK#k!3$DQw(>o? zbl^{|R*dt}(s$0(X6h}e7=H_fsnE5RD50dP9RaW3E4L~WL}^hWe7m3IZO#3b%PU;W zlLAQ}sdUGtwT2Q#CL?Ugp^k@wKXz**;wD*e1(yb(S5}?N7ApOzENNE3c9~>NaLYLV zUSPKL%u5KWt}{I7z4kIZ#%et!M%KRS$_|zJEY^Yyq0|08KXX@XuoU@9QMSk_99qfC^N2bB{^&K< zsJ=RJWi4}pR5`mP2|aP4q3UfZmt(J8&KWEbM40Y&>a%B(bNZDrx;6t`(Zp@ek7cU> zUf1ML;b_w5J1E3JN1vSnW<~7KqcGBeTae9kspq|47GkqYL5P0i`d)<1&pKtb`ovVQ zqT{WM#Q${n+c)Jp?bJKWj^jiccOL-;(GGET?RS#Hbqes&THI`12Ll8`LW+{K|IH=P zQlTN!)XgBh7207oryuO&)gV3}L`w+XcHk%)T$MbxtIyyhOvQJR={7roMz&N>r;sBi z!Dzdt3tk3W6UjvEiGm~(>4WC7_ zVi~P4fo*Z#{c^{1j>tAx_uU26zq5S(COrGh)P!bQ#p^9uT=0)M%bv+PtY=53 z^AGHDFh9vjIf(+T$USsf45T+oaXP*u+oe;%X6&SPa%FpUm_YjD{g)pnxQ4NU{D(&d zuk$Pk%Xdr*AwgvA`+l?1TAB65A93hlOd_EgaEuOqzRR%*?mz}?B`;c@krPeNsa;5! zafcU6yi+T%x$$&=2+&cUhR#j5Z?m;TAL(tw!honlw0qxNEf=CLS4v?L=Ul<%3I^e8 z$|@87`C$Ty_&y*<+}kI|uYOf&C5tXoj#^jry`dyWNW&Jp0Qc<5Z*j*e0sTv&&<#h; z3st7zqGr9wub!ER#t)wirjyUicbYC1(&N{WqFx*))YVFk{5z;<068d-kU&pw@#l-*p3;k}$?``>QBLLtZp`&a} literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.14-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..3fb0159adf66bfa42eaa6db412e3f4bbb9d15b1d GIT binary patch literal 2464 zcmbW3Sv=GW1BU;?*eN?>CRvYtm_kZqIcJbvd}uHn%rFdQP)_ze*|KLZ`%WX-4JGT8 zX>3EtPARglopZkX@8)~oi|6-Vy!Vfp5j}$za0%c9(5|P}^?DMlWM%+3(FOo@0008f z7_6&8AclZeAh`N@qx>EzxZu41#1JqzZv_+OcvTe~Vxhp+ynV&ZXZlh*2Su(vy&`>fwK!DY z(6Tn1hl~(9j>Ei|dGgD0<{~4Z@5_t|^h-E!B$@0^f;Jy!#?d8f=bco3a`G`^cLw7c zM$*3|wJ)8>hTvMq!KopQZkMV2o;hjg2UQM<5zV`HM zaotc6+>@I*(U)&vgO3z+y_g|D7!!FzHFi%P(^zQwFdO3l?}w}yrZC^0b?H`GE^M9t z&`fN>@udnlPa*p|!if-}qYo|Bsd!LHStHevGn3SXS0skE5(Jdf1Svfw>NADw?( z8|nFIl;z_W8egtpJTW*jpiMD{SXLh8Vw>BEy6GUk{(5$*6F%VPG{b5Ae+F@i^^}nW zpISv@Whhs5q&x$y?2J=+fUB`r-}62R%RR$~`N3|^WO1hcrxzp}4e#meZ;f(Y(AX2S z!AR425(tm_q%#rDq*4~9b!^!{?36X#jl^Rwhd@jPrO7(Ltx%QDvQuvoha)WwD-!If0)K3369OmI|W z%nh%%FP`4goqy$WXxh{+Y+yC!2$`ZZ$SEfK4Ua z{%03=+AoeFezy*;xUFZ2y+~iw_PvZEX2@1c9We@_zCwK*4qsi26mf3~f%O%Hb@_Np zF3V)pm}$jV2^Rg5K8#^FbBLfSXjZ=ljnzkfn`@5(!Mg3DT}e>N4BH00DHFi3yMXy#822ItB%GDu{j;9QpZZ2 zywe@e$F|>NH2$JjvI{p(9!V|MY5st1=#SWWq!Sg5De)=4-N;WmP&S=5EvRbAt56$o zAGf`NOmfXbPNy|Jp&E4zswI|t>fPPyEa}?e+$dY0WOmvSY}%K~%{YLAzB-o)fZI%8 zkqfNDEJ%#j*Zg~v`YhCJmiDw*c7l}mNci9RRSQ;PkF9vF*V=#J46)ro=sHHSyLR)q zE6ZZmn;7eLF=@REO+dZSmc?ZEn{bs*L0^~-$&+?*uDxJh!vrI0xfG%<*kS}n6)f#; zo2kXxKg=(iGbH7d!A2u1>&m$Ik)_oyv8dk%UIgSt40FzatWGqQL@A-CUKB zO4spt^MqC50i&-K%FoH4IsOZl)Fs_Ae{}heU{;0C0+h^Z_Aa%RT_{JOr&-H|OXPs3 z+D3MdF{wIUs7!$Ak|{m#GBJ{iMwr3hiAr54QKl{^L)>W|iO4(#Zsy&qtZ0D=$`sn3W`qA~ z)4Ba4`o0QOcJ)^CVFG0O#V$Ny2fo>zG1hH)ZD>-rtwMQbLA0T~^zKwTB_%?Q=kvyk z(0=t33543#!q@J@!8KFvqm`KH188C`yZ@3gU?-(>F8Rt3N3PreNRKZMTi2oG1f5~C z_Ws0zxS&ISw?f8u%l=?3FHz>q^|2=Oc!m>Gps>b80Vx!c{KHvaEClAq0YcWk8d8-P zn^hOP?& zf94NgIAPAiK9`2PMU~$RASDxe9~Uk){H!hS&6ow4O_NzK7HfPrQq~Yq<XXDf`AS%vdtT)N)2uf3JA5gA8&Tg!Q(v%GnuYg9JpRk`nL4 z4jLxs+)ZyOdvzDFX`z}=8;nU|-wC{E#HZIDURN$F49{iiK@g_Sv`V*?P(xuH+A_h=#MSpHpq0~`0BzyJUM literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.14-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..a60a6e4d767d05099331102a98df2393a8ba451b GIT binary patch literal 2356 zcmbW(X&}=N0|)RQO3ood<}5{O$Ot)?EV<=R`bW;0bDLQ?=AOAVD|5>=XE~Cy+-Aaz zNV$?Lip0O%#MA$I|Gas=-xuFk-}fI&6Sfn204o3jJP-%A08aUb3kLwWY65@;0003V zo<0ajfG5raf&i$$rqS8GIM2eVgk$TeBT8cT+?0ysTqLl2frRXotlvqCVfGZu3;POT=;kpnIqao7|9fHYEOuR^?x?Hqz-E#7gcmVCqgG=tQA@0TtHKhyMK3V zH}7EEW*+RDb}tC(3;H#_YS@9tHr1B$(d2iH{?i^60f}NMDquI%E3SDX2MGzJa9@CGu;ZC4 z19E&30Sx6jsS7rWok}2ka$u6+e9PS;2?0|Wht3lX0|7rNR|Yn@mzGFhU`t-Q<^F}c=VI?mixJv% z4C;6*J?p1ZP=?4h zxgrM3T>Un$cyw0X_lz6au=7HtB|9KzdP+Sv=j%FzT5{hk-svR7tId><&P0U1WdxeI zLDr%%<>uA3HGyE-neZn{!QJebjRaRNc_FstY;=#(PNhhMl5A7i+;I$V==@l1E4GWi zC3yVWBBI$dS+o2ctqR%h*D*D-$(6LvZ(aCO2+6Scth6&2PwjuWkV=KZP3K0b-19RD zUuT#=hShT5`8kWmL^8#U2GgNre$|`_4^_BScpveS7TA1>&y9-Db&l`j>5>cy1~2!K zJX1JF+^eK7vPzQr(VOY9^T+>me`lc4mYZa@YN(l%AHO4rbew`_1Wc?PE$4Mdg6%EKCxPyp7O%YN>C~I;;e7Vj*y}8rp zON_|uQrIW5c+~jX2R(#U_}y#Ws}RaK58u;HSeJN4p%n(JDuB3G@Ur2)Uo|DsX1j9S*ffEl9l{oUIoNQk>$I#gk7 zfnVKqt!j{Wv%3Fjt+-VQ8%Z70TAUG5_H4F9gJGrgm#>_b3aXA(qie<~MYi_e3Wypb zjAu~Bn!BF`Pby9?tPXw~gQMuvb5C3GY1im>YPtCI1ZL_QV$mgT{2lfN^(wZt(I?G5 z73ACc=I&aFO_={y@xY1}G+biyZof|rwmEGb#jkuZ6+EG4mNE`&M)frha-43%O#9x1A_&{ zQGY3KvAJoiyT<1yjtJ$j(z?$m=*6x!z)Yy@>O&d4+n`irVVE=VCM@G)w7dqtvnfaw zU*qAb*R;{=ur!<8nj8DR>itAakduF>)1!KHpys)X6h+)%1ju&q{tq?0&(SC*_j|?{ zbqJr9sz&Dra{TP0+htEfUcH?SylR%(1O_V=wk)s`N9F{#%fR?q6h)j5o)G sSG9np2@9(p+y9o!AH4iG5iI}C|LYh_lauWK{#pLi{m(Z2u@M0L2VFR6O8@`> literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.15-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..605b7bcb82faf08396d749356c8eeb46afc888dd GIT binary patch literal 2469 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 E2V?|z1poj5 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.16-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..bdf5ed944cea0d665f27cb2d1dbe7901440ad970 GIT binary patch literal 2462 zcmbW3Sv=GW1BU;Tb;uGr_NB39#!LwrlzrbKdycGQjEu2o$ej6Vu~7Zd6W4@CtBcmzkny>J2Em{1HZ0Pf-Mj|jo}yP+ZialxT(9>HF|m~a%r zF9a6=W@Z6g0U#a#uBWA;l~0s|Dkdpynq0-h0T|g{iIn>{MYQA_I7wIeyMheQRJ8mg zIDk$2%n0LK-QNYqg*IEXjHp76&W!>lL0PZ9FVM3n$7}9a;fF)rddTvWsHCr%=j2Z$ zE8+~zZ0i#EDJH@{(=e5D8NY4ke&yi@m*%cWEF}PkvRUYUiPnSsG*FgK@lmb4ru7Ro zq^A}^)KW1Za26(IkjQ1#4~-wF*g=4&SiP*{L%b$lrhf(psfxWOT@#0-_S%b!tSKC^ zsXF0$@My?E1`(aBi7p@eeQYAm<;^cXhdhlp>moay?BBu}AkFy6&J#XUly)v2!s1?& z^c~}7)dw%^v{jfnvxQ97c=}8o2O-t(F2VYS-eg$GbpF|%_Ik2EF4pyW zZ!9ULBp8<_eWm*DM@82(=C#sUHc4|?>tZ3W6gTld{@fI}=Li3A3lIbAy&*gai5GL# zj8FI3BUo$|jtYfzVL9rot4bnmmo3~fL&zbv+L{WyDH46%9(vZfi%U)tjPr9hJC17; zzbQEkXQw+KRto%H8P^1L2%(v$b2~)R{gpNcPTk7;Z;jj@L@}q@=j8E!E*zFAyi8+wHeWPBhmMEg;LU2MN=9n zwb`5?Y3SNPELt~Cs(PAbm_c|WEdKLLPCt|+%c=WjeSA3lgC@_D-Tf)MnCp9fPhNvu zlljbNjcBPld3^mBc+*uXUC78h`EkF9F;Rm1OhX-YdS=L&GkSy;8WbS$K+&_>44I1O zdw-y$U#A1|m%Eq@<>mV&^mHKj`H?Lrp9jiXxNwtvIVV5<1?SWwa?!#L08)8r>w$xi zbCvW4xPif=I(QuYTCV6{*>rs0fn!4C=0@B5nwL;UbQ{?Ut5%MPy{{ROBA;Dx{HwlR zeg{j%G+7bC1)&SwsC?JYhf@X%eJ8w(w3ieCVV4E1VIC~MwrE57usDl4pD}f3!BI{2 z#N!(6HMcE|ZTE~hfMsox%M*Dx=5$UXYAIh%-svz_FaV+KsUinMSnRfk;`M8!g{i?#@h=f~CVi!8-z-fjJrxzxV*6AJ`NC$*`F?!Ps@=oM zQv1vpGeOr0;kX_R{d%z5F>#Tt{62cKdj;XDsr>47t755&Xpe*OQ4&MDKX7p}4nNeC zIz6x*vr@Kz*M748D=SH^)tEu>{Sndl{hm9W_sYEYFGiDX+Nx#cV=>_mP8|F;l$@nk zXQ4VQpq%9oip^=)%Ddu~!NsBMsgqggMF}XPhq1XQl7VJp0~S^{~ZB zd6`dn%8h~O1v$dzP5wHqMXy^4X0k`Qn_a3Yz%==Q}GE21x*9aZHYb{4zX;w$S% zu4()zIi$OsNGvO8lzO{N;hecT6sp;I4C7Q9Slhx5^0}ddXCAqaaKhy8#e|gy%YT8y zy^Cm|K1J*aRVmaPjX)&0azu|We|sC)g}QO-Ob?DSiv8kW7#489AV{tm$lx(Lc(0-z zwpzVuCv)LwnLSrAG~jDzbT<5}>Ab)OmFEYK1`#V6qw$INx>e{zC2`bq3v#S;*$dWw z>rTS}s~BkM^{B-9Xfk_PHz?JCmNB>+zHs*bv@|>Cj#k2p!b|j6t8)Pbt5Z-~MKP<% zJhN(Lvcr{DxQ$v}d=Ga+54)IPm`%g5ndvpl5JGsHGud2AWYkQqJTRnLjiK+fyqhIf7~KDa_SSFL3|9;EqQBCKWI3A zr)1msXKhPXLVij}##Bv7Hs71bjXLKpynPQsyA2AXUZ0g>UNa-Qk99eRHh9*$#6Bib zs$wpcQsp=}PR{j0LrHJd)TQMM*x@1d8sR_jRJZEWbaH;AeXpy4hT=}e+eXDO4?^Qm zF{sKY!t)B>HVYfkO2moVd@z^`Pdycz^^rXOAs71U$>?%bI8p-VzL5pW^25n2e%q&o zhoIXbuJ}JP*OA3*E0^rZ{Ewqt{<418-NV>*C0D3`$+Vw@PYELrT@Ve=uxt)&^2ywG zLdDN~3XJAImQlwKYMd=Y9gIL zSDrX?p~X=ICHE2k_=~;o6-Xk^3yc4}fti~i};@*7q)^V$8a*^jnL6zx% z`GFy3m!y=Je-7iYH_sQGz7idn;_AP9+*oTeAYH*13+CU4JV5xhqA+Kpbj8B*SOE@a zW5kb?eD9PqTP>-d-F`Gx?;miUJ?~SvP84MbIN#N zJGq&YOy}ZQJF2236h5_x6KK}A1<>kX=z)swq2Vef@kcCN7-;n)N>{7EC<3A%?E6ah zQaTP6A9$x2J0fNsWxPV1e}5&77iZElXjpg4#>$mne>mWiT)dufm(!}4($Je;u`-)V wrL@}L#rl%v*5;ry+D!l3k^a%7|0W*vFaBR+vNmU7{r3<0r#}A>0{(aX4N``VF#rGn literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.16-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..d84cf56432631bd9c6430cea0589841fc2ee40d0 GIT binary patch literal 2354 zcmbW(X&@600|xMISR_|Wxl&ki%o&D^!sS7@MnXe7)tDDW0091|1>a}Nkm2@48v^@<1%3JrI45B2oLV7*lQ z!h!;MIJp35000jF7!U|Pn){j|g#&bwK40FaKn%3?RD7zPI6}UPm!d7)6k-Z0tlK3z z@K{hSiHu*(OCpSut91yonUjuAH6oWo(#T7bD`|B0qMJ5sr=!^z{xUu)ZZ1VgeqXvU z*3{Cz^1d+rve+&GQ#6ruXg_iAG`W3xLgUo*eZUSh&FAB(`t4@~V46|hUKvu~wn7K) zfgnm)D+dOTE1foZz<2edBEGF~LxpDu+}x$iS>hA7*{3eDj$dM$c-$}TOKjSDQHt3F z=z@SrFe9Mwxm|S&`njntwt3$CPoGy=DXiu^sUhd|;yrCmW=!pwiMdH~4~;6&&2~$9 zf9+CV-wP{!HO!bYmO6OCUv~c|;$AA}2ZP0u$}#)eJ`sB-nbJv07?nVfzVI1*D@L!2 zJSXd*rp_>>W09-A@?%j3hM$&qq$+H47>b)F^Q-(~Jw51hvdi;ZFWGSg-@&wX%dnQl z)hD$JM?pvy1rXq6xM$=&<0Q`nu&BL3(d#vPhH~eo(Swy|UKx=I{MIrq z`=L(CY~4|RVwaIT^qxShnQ&h{p2~%vI<3|3YG#Jq)U5wz`*bvbj5O-zTXcW)ls%Sys92fC`V~YSo8($#_XY^8>mf@%%%<5vQu9+hpEEpnwx4`!Su8N{g|KC zgc9>eUr>)%c-h#Z1RXKv&;M1lUjV{>9Cg>%nU;Qf)#NPCmMkjzxJT8;v|L zmwCGxG6}D3ICldilymle<*DmAV#Cj_`|MQ&Ns9q3)K7GV+|{w1hxOg_Y`gA%Z=yG$ zDY1c*Bf?SIS>?DMBtGte^hdZDC@ck*JxF4s%RCEav@oyt~v|95}LpR-N%<2pB7 z)d|5hVqnqcZ2w?pLe;2;y6hit2S?)Tg!z?t0(@HMf(`tcv$#-^utX|nL&}41pKHb| zH29izlfbpNNFy5xBC|{-t}>(4$l>@aEiS&?qNeDfP`yhtp*PS_drF(na!XV}W{IS7 zO{NW&){WtKwOPo*LMi?2yR$L{J9nj(mEu0zYhQ4lmCB6rkcoWXd-qR-v;rC*>CmqqRr}4>)IeKjNO+62+~fo1m7B7^n@G?OVR^zstQ&7@y70{; zvZVEMo@E19h|v?0T*q;U%}`rX-oYALu(+IDmJ-=v{Lbb__@;pB^|>(8 zY&#=UZH&oET+s&B4!MbEpJOsW_J;>?YN6t1F+XzC?1+L?BK^K&ij)uS+b~B<`)g$nO~&sL+Go{?8(Mi5ItE zxZGk8Z^X%%V9C=QmpO%xeoFok&{fyqHdNPXoi{gQ)~at}{D?;&Iw$(b}?`NREKsC_Yd*CY%zD$KVqfNnjoGE z!H?GVDIGGQC)vn$DVsq9+e&LJ0~Uy-RBR5o)r_p}lXJgRlQc&!L}y#v+;EMq!dED$ zS_Q3&ihfIvb-PyEj}^VQRrQ{{-w#Ju{4DdTxw z?TAmv`q%>V$m4s8%Dk{2MH1Uq8^G3I>bbns9h4j@M}L!Y(f75_ywLM+K zl0_p~8Rut#-q;`8B;z91@nrnWS7Vxl=oDi@w(ECNd|ljP7xQ~>!LaQ8AGA4`+_bA} zu%eB^dSc!}2DOrHp1`sxQgR-!s?MLmpK*Z$lJ+CYZ{-gvCGG5o`M|gp(~<8qE>B&| zDleWEct8L_`F?Kv22zJa5A{nizfm@fd}?+|%^USw zs{wA7^1&{yOLaAtYW~`f!&#&;A51%1&ANywUH;7K%Nk}lDbk}8i)HE?-}8t2TyH=w zs?;;8EqJ$5NJ4iwN7KAbYNc+ZUuls|lCQT_tzzTn(Q8h6GD31lkq({Yl{T(A!2w<3 spJL54TPq;QkmG;5DS-hX4Qo literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.17-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..9319e4b54363e37bdd20f9c60059ee39427eb90f GIT binary patch literal 2463 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.17-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..69fac3bf7bf480df4c98bc6d6f0e13a3d6afd2f4 GIT binary patch literal 2355 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.2-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..16f08c848efc4b777579a22f3bafc348338f2f04 GIT binary patch literal 2466 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.2-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..ef28d2e50e215b3280a35676492f712a82ef4e49 GIT binary patch literal 2354 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.3-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..687bd995317546dcb0c06d9cc86b5f60e829fcbe GIT binary patch literal 2463 zcmbW3X*?4S1IOn`wB-CJ=aeXFb1e@K(OfO;Zd-47JUi{vFk)~YSdH_zqIe@48iFKFo%9Vaz0Kg0e z0B8aLfDkW?uRAyd6XXRBa>w~Q<3ho%SbsN65C-cHcJ}p!1Y&)i+#f!`;)0xc7+ja)t+LwD~hS{4w&)GO*FMY%4_J0m&aWX19_DPS(*H;G<7X`kL9Xgy@wd zp)0>YIYc89RB4pR09^c-jLBsruu%+FT4MVGLrrEO3UDN!?Aa<)eV9(>NWPVE!u|Lo zwom*>j?JZ&%bK&QH0a7&<}b-EdL-yyUS+x4$t%mBrZAoWat_!mI@Go-9lZW=yhao5 zGT_1;V5@TsQr-gpyhHp^4rl54r+8}+p0X)|YEcDpbE)mI*mqV#J+ouR54>8MIS6;p z+)~ecZS$!2aLk#2Livq)JVy}H=YF^_?D=!{augnf@Nfw-sy1B)Ti&A>o7E39X6{sG zeQ9r0%AI?^(34i)YgsEXzS*WK6at((o{)&3yevh`t|>Lmye90T!2HjI?dG%Anq2t; zZw{A5>||cbem3ZQ0i?~Pkr^OdL*H8H${&}MdspneJ?Prg+GGnH^kSAzl$$2?Kp%j-ZhP#<(M{)aYK_wAmjE0#P^?8u`3Idofn7!7_Hg%-#m5fk^k zHKRLT8P1d`+=bOTsa`wG!W_1R%JK-~4wxl6A%?zo8;`aUt9_$}6bUZUTe=5J!>dtc zzOUZocEX%$>P3_EC_!48BNGKrPEeB9!f;S@f1*TbDTOD<7zSe2yy-+*gv*-_t5;pT z7Np-fSX5%9Cjd<__FE4LVt9_q`cH?rH3mY)n1^EbW=6htmvwDgR#ixmhXZze&}x@C zH>cay;|Q5ji0_|8N^@Ud{&=<}o~BH??O(5*3L;9Z80vD+GL<~C9V7i-#9PHbElOnw zEwElpNF0~UPmYKZU1w*cQyj^6qKKsXl|0o!zsM7D`B*AoZT-l8Df}xm;BnfTyzK}b z^SXsg4MyI=n+#pef>&}Q#i4KTd^6%dwrG<>c#ZB0aUN?&#cC>%QDzlFPhCjTIhhQt z^NPqW*%Ung5r1crJubt7X%JVOXXjanY-X-R`M`%BP{~bpvRBWm63=&=QwS`moz6(N_xA11D}JZH`=0PR)OMGdL1^e_UwroK@e1cY0^KY&#ex6{!mB zQiNbEdsZdge#oY`8CX9dYFde~WQ@XV!^D+Qb%2$g!bU{KMIyQo*i08`0GDvv|CSrg z#hSgeu|&`bw>`%j@@wr!xxB#gaa`Bkma_u1ziY-s{L3p9n(~sqKh>$jOz4jAE2s1| zlP~v??F1NZeo2boaE~u$Bjuf&1R6q1j)S=q=BqSLfN??<-+6xt3tyQ^&H*=~GW4M_ zh}?wR5+-imW1(Y`L}5D+wFNi$QR9q4Z2!D`89PyFc2;=GDlq!rPrk1-^6MB2S_5vR z+hwK&ZkJa|?^&z)C|tMIge7Wjxf^jh4cFjP@mK!}y0a7O@|F=pHtDv%9daF3isKC-$XF zX{RQa%Tvu1t82PMXFtfA>jvgT6SN@W^(5u9AAhLv(TjIv_9!4kU3+J z&Y@4@j-&ix0nPq-|HApR%O-sFGOfFv!xRYU;MZg4Xg~e0u%U`EgFKfh3CCiG9kzPl zu1|Zcz4KP?a@MyL_@ujGJ^!BTnA9iFg|M>jMN?x-LDyNlmdVTQyXT6EHQuta|cv#>1|<^gYm0dq}Ixo!Qy{^j^c@l}*4; zF#*z}#EpjjW}J&PEkpZF3038%UDLa^TXp@hyE322kd^axFN=IANq zw{ECnvEu16_VW;G7m$j=Jo6kk0Ab0c4;3Ya(KE2xaj6XJeP zfuo13IK3KTGWA;1ld=u-_fAhwl#$~5Ek@HSRN`^wa`7O_=bzDKo@3byd_ZZ)mm*ri zPke(n9qcZ4Igj=a<0Nl}ahtn5BL(pcpy$$>*Z-EJzdh-{iRAbP|F1G3O;7Rs^XK@x9)DAg@1OM_1dg>w literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.3-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..cc7e4917bf6f16fb75334c4212ec0276f63a2bd1 GIT binary patch literal 2354 zcmbW(X&@7f0|xNT$d#iU|GCzSgqRdzBQjwr!Nee|$XRR$GV4+H&@%Y~Wcd!@w?b~v0HkBD5ChCLDmmaxeHA(; z@mrn^f>p7oPHiT`<*NeED)5QIsOEOZ-7yqvij98zN~~ja%yM)XSXE4Ym- zywOPB#eoi?9QQ?4EyO*Nn0fix{aA5|+vLo6qug#Mkf(RJ!g#JgwoLoOp#7<}>t}en z=8d_~T^G+he@O7%?L&{Z<3m;l=-|2efzc@tZ~N&i^OJnF&^DbNLE82u{drmsUlgKV zE?5o@ltNio1=Dq7fR=^gTvL57-}{jsJ<5=^^45FOb8Z@!5hm_Aom$838hx^Pq-(7T zN`GpeIhc(jSc4SgKR_2wK~}m)C~GS$FXKb!(&Q zpOYNC zFug1$wrl*{u^(IV_*fG;AFmsWH;Z1@^+w1G*guq^8A?SbG*Xd#`l>Ev@kY$Yb1}d2 zJ!+-;?VLke2>vfjxi!k$kL2=?V{10T2{#Rb@gE@vQjC@5>&!fhP*RI1>D{v>aeJ6a zr&X>t0>o=pT|Ibr#TfjVH~*XUnWB!S! z+tY;n{gF?eZmp)pL8-PI6$LZ9Y+CC;hJaNnL;cum#+BJbE?F&i=4DDSyqxgEog60H zu2S3iWN3+uT^}KPh$IH2mNxZCXBV;8sn>LJK3PHPvSZohM540BU{*^IK2822Sw?fS z>?ZI#Ic)Z6x`#F$WV85SX(XIve6D#nLYZHsdU*H@XUmJ@J=U_Y(3SXAUw!}ay`0^W zDZ4tJR=n`Ist)p7OPA#FSZuF2Hn&CUqUPx%rq|HV*%BGcS3`R-oCgKeD=Zx%xtgMw za_dql>NTAID^o}>)XY_$ith9%oN3~w1MQ5_vnFv71iF~eBNO*#)z}kT+8LOge#*DV zU-`>DT0qyDxw*QFHY&&N$HNGhL+#1r{%|1Mb=ZUVWV1y^&6US80C@C+$@7ZbN_CoB zc|Tg+KduKhTA|wSrC5~x=M)A7pI3IGlzSMfoey-|nh<`+Ta_(HzIxycz;_F7^y41b zUu@lLr@s%s6BUwOY-J+vy4Am|P8`nIO?c08qPmuGKY%+(Cv$N{u7mQzKb`<8M5`Hd z4lY?v$k@%PGolvRnbzUkbYcC?)1tc6s6= zHv7mx!Y?On>_dE4Ud?=9+^W=hn{E9U{kTqZXp?zdL(tUH+Wsd(UQPSLd~GHRTg*D& zE2&1IZE&oT#Wp|6R9~wZJeg5rz`whDvfeA`jUIT$Ffq>^eY+g=%pbodyIl(Be z@4#ADe!p-0YQ-j|JN}`xD$i(tbG(xOaig=D4OX%Cl;cr7MZZ)w%I77zj&_QlRIA*z zj2my&UmTEmnM*ybsdTHC5qLiPqOFLOVZAH+XV?6ss(c(u9a$vT-7MYAk%h&O)YACd z?geQ}7eGI^7}VVouaeF`!|MocRvYfB_`-zE!Vus>jc7gEdRd{C<0#-Dr4*|hS-Gib zke3{v*WiSsh&M3M3rGodVLP6F+L(qA1WKzc*7Z>3GOtS?o2sr0CmqT&H{)bi_J3Cl zo#`9(aWmSTaX@}k{u=zP%5%%Q@%e9I6Ic2Mge<*4YrA?@E-5X+ao@qak7XJ&!;xkF z6;3*v0-p<0YIZ7OR62&4dVVs@((S4k`SJtLN|f7DPN)WejL(#b4BD~oKPd|4s|>Ds z%sEl6!GoN0e<)Xc_C;$Ke literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.4-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..7cd473fa8505193d4c0447a1d1d2ce47c41977e4 GIT binary patch literal 2467 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.5-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..e57324e1a5cb8d502af917ccc8b54738a8a26340 GIT binary patch literal 2460 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.6-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..66d73f66474b912787df4551f72982e1ef9606be GIT binary patch literal 2459 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.7-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..a3c1666182c37cde60315683154a9865e66b75aa GIT binary patch literal 2350 zcmbW(Yar7L0|xNFxir^V?zhb~Ihp3tko(*lCFEX_7!rrfM8f8NO)Oct%%zoE$gE-` zq1+wPse>K7Om;fN8C!I8I`8-Q%lkYZo=?yBp9e-z$OZrbQb0u5fe((pLJa}~fVDXQ zm;nHQkBE#8L*OG5A`l5-@i8IsHxZ$+F;^oKB4c9^A<@wWH)5kNhb8?S8=r7FBtA4E zGBL~`>PBpgsE{yl5dhKwz$!NvYy8bPjxsaZZ6Wz^C?-;;50+KrscfzLRJ;cz(;Mdq zqI7*N_7QdMKT|yQg~5@XQrzsac3M^R_3w~%i7TOVSbvsG9&7}o5d1*~+N?G!naD1L z>VAV$(j3otwPwgnx+s0kjjWr`|L!$^NGf=}JZ}VB&H(s2CD>Om8t-1NK#A?cgO1JB z+wk)jdV#Lb)G$Q*@(-|5(pQT8)@n|5A6!-uI2Z%`eZI3MaM|*1HVnmc*$8 zboI~Y%}wH}LQJ*Blw^-pa*w*t@+4dx?_dc{nebK50jbkQx*z&hpuyOv%)*>q=Nj)? z(5Tar2w*q~DBrZRqg_aVb#3X;5>FMvQfKV;(bH^pa}F~&u)Sz67l*+Hsihoy>``q% zoL`uVc|KQ`p~G?mQBQX^8fWiI&ejh;C)xAaHYZQc>dcr+CrjYF{gftl%qMHXP7w7< zJAcDRLG9Mk8N$66AEob5x425ixVq};Y}^iX^g(Fmk&_$j|sIOo0GzK(@g3F<=lmc z>9RZss%Kz?*HycnB{k5A)ZKR-1(n6aZshqzTk$MqugfAWKJ_lwMf`NZE^I1)b?E5h8)A%oR%J{9Q6^;tV-P*CrA5l zv;7N9p=ZiS5iH0FRLs6DJuMpM-gDt=Q<3cbg6>rvoB4OWBlo8n1M=2acV86w^LT5W zHlDaN|DP(aCXd&vUU8<0UfI8?X6?ldJf2-8>xT8?|B|nN4`QJD*Tyo{uoD5ylgG6x zj>2-eQM@Y`WTda*aA!U^fXf=Ql^wt6IT#lmEJ?wzLhnxx-=!kize^tD3V7dwtlWhz zf7WtO+8Ex?Gp@*=(@RiYKi}2i+#*Weh1aY$?AseEDJ-2z`mWef`&*qB>yeHnF+S;U zmt3{-jS7ij{T?C#kryd~5R2Y*lEerKT6PWVjlX)*G7p!?@4XPX(-UkSHmciNZN*pI za~#r2a}xmBZG?Kp>`+d`-)3o{e91Jf_`3r;O$ko;u6d(XL_(atLcYi!ZLi;9Y|rXS-l_Ym#=g4;8&ibI$>=;D5_FsDq;P80 zkWw*LN)UZ9+44s$x{uwwbe!*c_9q%ml6m+lIOv;<1=o(D9(Rz(nL{_a);OLr;5FiEHp{&WfbEig5(h{KMT;iT+j%@O7^f(GihlQ@9jF-2pAT3;D(Iyy@8Y zO{U^!NJx#+@b8upBHLv7qo=69U=vcwr6@~4ZcEJsqf@Bv7>EVK_Qg;U!a{3&v|vhV zN?Kl{!~3(;vYbyM#8TG>LsWuu6G<(&DFL9{6M8+X&}$7W{P{5VTF? zA;6a^O6lS!QQ@_&1zS1E8(YV{r6lhue+*U=Q;4kzfQ&v;s_%MA3Q#dxiPxh*3C?;U zmJq5(xzklIltR$XQhog;?iEz$ytv`=o~J48VHk&j^_I_D#biCr!tcSY4$Iy93aINTR zm0}{|oc7U8QNXgJx%_=EDn1GsUB%g7Lw`xRIcR1rM3{T=wxHUYvnVTRFlT>1a$VZQ#tGu`ip%lXwn{Uw z&nDB>TJsrGe)+%aqu6hTN?Ten5K)AkCfi0$SCjG<6hQVl`9g+{Np4(Ss42PflR!yJ z%M;&|>5rk`GAm*iOVko?+qE3_`;o|FeL)1j($AWILK$7x@z~^Z5AZMr5-k~g$M)MO z-ETwB$OsgAdGpeLGP-+J`=S`mjG}utAxxO<wpn38t{G(YgrdFljwoy z`rcb-Up&|hI2Vyr)TmS$7 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.8-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..9471bdb64d9a9ec476945b4632d43aec92992e99 GIT binary patch literal 2460 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.8-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..dbcb69ad9412dc25a5947ae26d366e9bfb6ef6cb GIT binary patch literal 2352 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.5.9-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..7ca17c5fd5400911ff8f0070b037f9b7a28ceff0 GIT binary patch literal 2467 zcmbW3c|6mN1INGaD_3qw<<1dLLYiCUu8p!hj`6rQjWKg3BhlQsD(6CYSUGA4F;~vH z3N>=A8HOw#6?6Q0e*gde`F%crykDO`KL5YLb{w3h06QQAz4(uKkYLgKAcQhWJ~7=<)mhXto8i62$&=PtY_D)qE({I8;kyaciX+RP(Tnnf~+2zdt}5uB*4p zl?qXehuuUQDSeBwRaU6^oo=-rTzz#4`dW;&7sgVCF62Zz zkxw<((aK`(C)QQ8Bi!s!rDmT_%L)*j4Rx%&2r`j$HIeO-se;?-^!Mh=;R7-fCJD{i z!h7eXEa>Wb%QndY6)kVB`W+42G5TJdlv5pYYJc!3&?a-E=})(c_n5P=Zk}oy!(yF< zNnAwi_BUwcmFF(q>}(@`0XM=!d1nNe(;pS0oR*6=)7=HC^vzAl)HTp8*fVP$q~OCkHkg16*J}Oesfe;#zM&* zb(lZ0`YI+e0KTsZgQmX(mK;4KOEPCxJQ zNma=GkCo?okkDirVL8Up=)lYVT7cO4{boj%D0jJJ=L@iYp6+zc8akS(E3`Q@Wy#>v zNQDD1@@fwd{Y+xrPrmzVmB@BEuB;*(<~AB>6l?ieU+vSH?cmd<=`QVQ+Ym|_e90_q zB1%fl$qEr9p4Yy0hd*ElJ~Nyxz2koKFHaa&tuOo8g~tNI7B&7k1mAH!$$qaim0x@v z4eYUo{$zyOY$53Qs;Z5PHI-KV_ZXTdKD=^xn@`YDg$wF(cpB~yb9ATpzAI9=4WNQ6!2;2fhplXa8mvB{ zl?0(a36-yC^EHN)9k(P<@AVKIx!k_}I+~cOw8d{z-;VFzmdl_mA+wLKm;E?QX$Xqd z1K~wdZcpl6C+I805dHc9M>=%*Z@m7}LT-wvU>#n>MbVgFHsj;Hgc_Rh>{%HL-cfg@ zRg{z|i{u&7;yGdu8?CM6H__bmbMe>Mn}GmR%$(z$K@QM<$KX;`ou)=-v(cAbdhz?F z0;C{u(Rq^w9Y;JZa{1uB&g3IyJW0|>%Dcpp>~g8XY%bmjsmlFesJEvAWu zT{-N5pSvSADmN!Fr5xFdPED2GP+At0ooAzksBzNhmVr6#xq5Vb+8<*-C3`*oh?&?v zJ1RS>ruMORN8L(jZ@=}T?t(#OfAR+PK`g}9aNmO?8d(jSo4#>H%JyX~(G_r_0q0q(p?r2VdH^zNN+QZj|`#znR^)cH_BHQ72eZD-Cj4cHo{qW+p7Lzj8v`J$B1FEyRTjI zl{KiJ@PTDKyy;ccC>`w&SCw;zaI2o~RlAC?BDmM-Q@%ra!KC0b@CQ z*gv0cEf7-Z?7lByD$66N^}~HAv~r0}@WGZ{8;7QsDva{=3VLO@m$MCj-Uftol%<=l zPh{X~>cx|yEcqDO0=q%R`<1Jcm#c0FchE^5e{Sg+%>|5cP_>QA1ux8t|Ah?|mfu`D za|m(%l|jl-eFxGhyV9i{wgUEh-dvPoUCb%C5(6$s@7FwoNlMDCMMWV(RWdjC`Iy_@`9Y^zA^G zI?IMH)XI0X^bJBzCU2dnM@82aw}h&INscQ4QIZWRDh7p`$0|)RQA!~XZTSTtO*&IE&Z@F^cM@&S9#WU9?Rx%dNHAk-SI4U2RN z<(rYAXb=Y{a18+P0H9AK2C5#ZhL;ZywCJ8L?n0wv+QbvnokR@e8o{j^khkGx?B&f& zk{igf-HJ50MOlLmp8eWvV7_qH-J=O=5uWjKZDuoL;BfW2hSC9*Vysn`h$Aee@yi`a zl*gG_IXA>Z1}ub`MAW0Hlw;?qU%9EBjHyfFjCkNcCL^#zoV=e$WXmurKHQ;HwG~Sr z?rgzY*hM?sIq>=`5p1)4(vCJ_ooE^n89t>+96VfU3OD`f z`@3=}A<5-=HMzr*&V79C4chmoi<9<^GBciJ%D<{Qc6@jDrt*xdcCyKXa;2T(QZbdc zZ+vreoPL4LRfRN)^af^kajaO$w2U#2-DuBPw-svRA}2RmC*7Py~N*|Ju>+s4O4}={A(`d_^DZmz25Nl zn7oskn62{cL+7uo6*w5^>j)q!_G-=d#lN;cK5BV-3R7g? z_jiSJ$umc>E2^B`@K!1N#tYQVRnVmYo1!Ay-0H#RA_@;qTqPGiJ{QAznLrd2js2CVpdueUHL1{XjfN61!yG7 z>gCxnL3IA&8B{50mlwhqwD+xGws)}W+Dzw zU2=2U!74Fkhiq4eOxm_ErLk$!JeoI6PttE})PKgcfKs;dJv@faU_jE!;YBvQHElU^^?rd*IrsaQL zNcbGn!CqsL$B0!s55O)CPva;1dN=d%$u3~KlBc@sq0L7kA6DfyW4Qb?-`ALyy5ZAg z424$?r#gCHL7r=Y%B6}EA`l)13x^NMF#T?4JSFLN-m3^*Z0nD)wB@2vLu+=>s?pL( zUiQHI4OXR9(5!wL&7(}*#c8zHSW><6FA|<6Ygpdf`Ll6MpbdvFf3$gKn<=bzHPq)g zh-}z%Te867Bx@zaA$*yZ6QYpE0%&HtT6bJ;=Zf64=YW3*?&_rK~Dq zt|tZ0#hCoH*cx^wLhF+XqkpXe0^jjsYdZJ7Q4&O<#{GO&O&g5zygC`nA51RkGL+jB z=;sIDB< z$#!kvYtf$6rfs!*??$!V^d+KX{qrh2z`0WAKYxs4#S?B5NS#jZvIK%_GAr|Q`OwJM zcjBXp%excfr{TPg%{5ktxp3I|s!9zA=LZ3W%yYfW=9ik!NkdU<{5od$6p6{IQ#__S z)2S~kYb;=8@K%IbgJ^X&4a&+aF$#iIXk<+Vrm$t#d~y*#9&&&_%Jsg!!UmgZE-|FL zkp8i4H@$qksN0g4ur*Gh+q>QpG=KePL|&jCw|lUM8jlCYUb}W)@4Z#!#ubI98`&Ol zkEggO2f$Bgl%K^#j+0kGD4EYu3U=aQikv}o<#0w@7n(00q-4h@Wb>}&G?QFGKF5pK zuPbnaky-rFiO_*(g@s2_>Ms<12Miud)Y+t>zNaapOlF6T(pWS;Vd>>3PZ}ykj4CvR zS9Jd1+Q;wp8dM9^ihfbGkytuu-X2+vI)4y6?`@jpbRxfy_@F}yJ8Cdz)|);q^sNBT zx~tduT9>JQDe;5R$FGNYccHp^Ed1H`?0cMN zvL$6)-bMa(7@gOwLjMNh-B>hfVkXwPWgyJ87^P&(#5;x`kQYyXrT>U*v-|; zSjhfLwj_6LSK)M4e0Y?Vx5P3r%l4pbZL~jYbd10!vY!--3h3awv$-^C>5&#CUR2*y zc>>=PYMRy0)duLG zzWDI6sySQ3we|0xbe~9#7SL?|HpZ#7>NMP}Y7C%at?fb-D(fkHyz%u3f>vDXlU%VJ z%4$@!+~(;=3Yd>V-YlWTdyW<(54?-v!(y_QrMRCTG%JdFbnD8tmlNqsDeg##7)Zd1 ykfz_#F?^W{I9Ri>8=m;zbos59{|3+Y@BF`zaj@p(`uETFy8*xV^=}*jz<&V3TV`wk literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.0-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..b27128109c3bd5b36c52e054efdfb4b1495ff566 GIT binary patch literal 2496 zcmbW3X*?4S1IH(M)Q*W7m%@d zhZoQ&Ipx~7FPFo7kA*_fnXc-KRsASnY5xkVxXUF);y11i+ zm&3+Aea)pYxl(v^LuZw}uE??ANUX1T-z?*azxx%W)e{knN~}8s4-#>0cZ7!03Xh$WxN+wN0z_TS?*hp5a4W6`sWw8 zAmPTzZelE#JeZm=D)A#6rymy8!cdWC_s%knUzwnbn+W?GP-DYk(Px&u~yeoV#CS+soqN@ zjr60ck`Co*3Y*DPIR|9-)?JRBEOz4t2R}NQ*T=)S5u#?WO2MtC?`R#bCQ^!y<&bos zRkX`g{Cj*a1iX9b%&zPxv;nRz6E^5+824B8ny89f;*HwgoU@-$X6x3>#%wA;8SJYs zo~~um^w5-ze@ZueXld*D$}dX^t4QnzMt>NpYin6(}-yaIv`5$WzHsSW#Vh--Ceap-;)~qzaimB<|lpPJx zcgTGK6hr=m=`s?N!Hy)+vu{~s^uxSuG@Bgl86)gg6d)yyG7$6}Uq8W7B9x*INkx7; z_2twFdNV$xA)Z_7w#zGdc7a`Mn>ESZZZrUstw7Jv5d462e_2qOLKz?q#`jsp?XVlv z^V`cl`K;%`1;QvJQJ^Zhl0eBIKiygl4yh@aj2aGt2N$(VC5*WOO_z%yu`?IWmZ zk)PanJ9d|uMSXW%|Ao)}DvJ-dU55Pb%Ag|XGbK;j9Q;}He4v}vS&}erLwGCkpcbAv zBQ0dEY2SQ7z$lc({?n#S#M*EFAEGvvV~g4=E{>r|s>WLpA~1n{m^@IC6wsG4||MvXoivFcs9?t_;!=L9#TB?*j8L^$WnaBnrwvq(w|Am zkdwH9V$a}o04YxWBKHqp!b;G_-~nyYXuhyZO`|UMA|>%`4YUSM`b=)LtIQ(tTuk10 zZp#{Fg281>%!uR}C`7xKOj>*Dg^v1!vHWRe zOc45c3)okv;~cmjnn(`AFc6nlc8On4)#?r~%t9hiZng2N{ZiKtn^)fgc<4hYM)0(% zJyW|Y##JQGZ10 czX_)M7yqwQndmbD|NYbbsly-MW%_sh2h4=AMF0Q* literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.0-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..0ba3e7f91ce61a8bcca2a3dbf9ee6f2c42decef6 GIT binary patch literal 2377 zcmbW(X&}>$0|)RQS*2(gnITDK$wbV3L=CyG7&B*%xt6&$qld@BWN;2=*WZxDrSRcYMHITrdtFfN=HmlMBN8IeQTA;R(Uct^{{)T&Rbf zPY^zUn+pVB0U!zhwBqBv6xoV_)S>=54c@%Y0NkbKa}ScOVA|4Er{5?;-UgyLsdQF~ zE%)sfqm+RkO{;6@{ROCf3|`-zdqUPrQF#0V8PBRn$V@q!e9oR=b* z%X>RI=n@k7^*$-Q&-2dhbD;CwH4Un1jbp^*KFK@VkRFvpa)?mJ2)`BM216Yg_Eq|E z#cD|dlsgll*}C>FvBGHs=iGMzmKbWUy_^m?Ip;C>XqgZJ9gQ%hc|rg>4<$I)lmVJ_ zQ3ETwY1mqpU3)PFE4ZnGx}`|6meu%>!Og0a^f+IK2|K1`F|9Y>eP-fOS{jrtgIKg$ zsK<(AoQ(u15gOuR>mAzWFQ(z|=lHf|)*0P~+0;i?QxF}U6bf{NaeWmx){$*b*4{zH2 ztrz)9AeS-;vv6YV#@B5gHIt_?7%D-R>kXI^RWPx7Tx%KpUftl&tFylPXsBtCPp0KT zTQq8x_{tdq;zH>JX<`NCpfkH+;?G=sIuEJG+mz>tpX@n^^{eJV6it_Iq3b!L<~*5n zrH##iHv#LlmQ4;fb{L}NU6qSA$i*f35z1A5n;vFZ@oCh{&2a1T+MV*uG1sh9a-5hx zPO12ItkCF$b52C6=ROhnVD;eJ0rx^f@L9 zD(J?X%Hj6UAAerK>L7v9&Zh8iFP;K^L5kgA}9okqKq03!Thfpdsz?iE>` zIJ{^#Hyon7U(*+U#rjTu^#GM{d_x7SeTrJ&LrD>Caw zy;OT$QP?Na(Oo6wmtf263l%=gFSbGgz97_I z)%C0zYOWmNSFDz|7NnCq_-|lVuA&BiscO#SK1#G+G#(YQ!LH>sXEA#}XqB4crO2|4 zUv`v*Jq;T@YEE3gfX3J)5rDIM5@@V zi=i#skWaJlpU5~Y%weU><~Sy$rxWuG;=th6TM~roMwy~;V(DhOx|0<7GiwJX-5 zD$ZR$q?Y(~plj_3`00bng+JNrkB#Aac@v*aR?{a_~tE8DZA$O>0 z)f%Zp&a=9WW5@PKY-w{|qpsG_kz)qgq`OyY3hLb9gjDG?bUt6zbO0YZ5LFVUOGuqj z9YWWtWjr%$q0_7_wGa=U^C|0#h)y<048U?8RiD}0vl+$+O1OL4@0Gg!>gVd^;4OOp zc^ufbNx9E!mZ_o3s5@U)pL7*_5b?Kr^$6ZPZrea(DoLT4(pfh%u=7pjq<(XaP^J@E zjPHqnUHZ?Rn6YqS!_0f9{a4R=U|>bNLDiWS%>{<@qT0E_$j)JBJe!6y`7#|>F%ooL zA(Q6qgnf1VS>_B_xp9>gkny( zw#fN8{j}q2^_`N5F|#&4^Lxd#+e!{c2b&3N7RDT$I>-JuXMT(3zlq}bcm7}8SQvwj R|NH0oUC-a!_Zv(A@DD<9b87$q literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.1-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..b6348594965614faeed1c31fef51df1013eb340b GIT binary patch literal 2497 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 bCK~uJ{$Hs=SRdi}_YeG2?>~g{{k#4H3W2ls literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.1-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..bf928ac290042f90c43acf37349ffa848f9e629f GIT binary patch literal 2379 zcmbW(XCTy#0|)Tm85vn2BN^$DQT9AC3fZ}o%XrQ>ciibZ zWQ2^)$mlp{kBmA*WY2%k|NZ~X|NDLMef53+f!MIJ83QZ;AAm+4K>bf9qQW=05$GVaA6D5DgHgfxVcd~;f4{&Wch5jC6gmW{ z;*0aca)U0~LVcFvdj$0J@uw%Z$B#1-+h)f#q-LXmUAYvWk5bh;nFLUZNrl~@_c$eY zbm%pLlu%wXt7fL((yWw?@A#}xK2cY&+;ly`ZSpMYL~+thP_q?Xm!DfA%#9a0d+I=? zE{)g_D9qD@PjK+o%h_hxmCSa5>B98u5zmG;cBUU*(UC&sI_&u7C@;EdxZH1B-8&}> z0KZhLs!iyo3;K56+GjJ~g6_0Sm#Y4=XnEE35g;en&B@0;dT(LA27djYy7A(~ydEpj zvMwZB^pgz}7hDXPf{x`VjYKxWAfeq8k*>qYDDg6RtH(O?r#t#}|KdC2c*ifLUzcCL zeOQC5aXi`pQO$)zh=C1!rjm%p35R2XCP(IZiv zI!3sot$G#G9>wszlcj-iY*-;9@4Km|YO&f!-BG4Orq)}^rp`j@U%bR#3NCYxbs7t+w7h^XK`h8>J<>&SC@9f2WU53##fP_&{v4q~ESC{^Fzuc6=O&@y z9=uf2y8Y5V4}!z+!6(txqWRf8bXMJFz`(mwDLjAQr?^86HnciTjL7lpqSN&M;O6pvv5;LgIN()Xj(P=-*)TYXxwo`%uD&M9|-O3??)S;xrIz2@i_iW3X=azSBgMBfwKi?Vm2xt-~BUq(pD~3q}gHBh|H!7-r#8Oz%KTg;z#x`zFfH z9lo3sD1ii1K7^HcChr-CJ*;n&2S>J0mXGi7S#q1r@4jadN{sv+0>M?IpMWIVsJk>J7VqKyYm&*-4GBX&~o+14{^ysZ=IJb$5;hrXCg zuKO=RP_X_NTH}U3!FS`jc*S|&cidZ_d7ADoqrUCtw4Wd1B?E}z#7JZB_i>Mwc6FB!>l6vuU$BnikPu>v9&8#=+wTSt^Unf+Kz)tgl=$?1?!`uJ-T(XXlGnd zlqb(m!fmc~hMKMsXrfwietg8%Oa+z*!wosQ(O=gyEx3I zC$4IU4X2pnJ(V^?Cw^%EyPU*Oi@T*Yd6^SJ4c4N38ELUB?%*0M7L?({&?C>g9frVu zzUhtQCD|FWQvwa|h37va@MWo9+kP(HcO&_j@N!Dr^)yyR($LwH49mh}L@fp^Wt0;g zdlq7#fjaFqrI7=lmspQ9R`Z%y`jQ-!Y6{~X6jwKt2#abYqNx@Nt)oiSZ~7kKhRpp9 zi`xcCGFY=_I75{*zNS|2J@(LrJvss0>D834LL!<%ne6i#L!E58^3IaBso@O8?!$|u zE#dPOt zwv5e`S$;LBIj|5TGv*AkMkXv`Vg}54hZo?W!}tWY74iM!ot&#(di$>f5BseBzbG1e zlwPMdNUZ7N9TcK2TGA%9-X1Q8_W46Tev-xC@U-;}ZrC^J4W0DRAFZf5cfW}2-cscV zO|*oWtibOU*Fa~=%6jrLC1|U2Z7ZL|D#nc6H5KExc!&=58M(qy0T?xlr^_72B-Jfq z*=~W;KHu<#OcT`~Nw3+Gv4zb}7AwV$O>M6XE7vzrm+N=)A{w@BC3IM7H&~c4_=;wA zrf^S^oGLpb7`8+I(^@NwReTNpB=u2aD||z`4ZFl45=K@#rkga0-fN_cO`T8f#0ti* z`~{W~?ovv}4gO3{!aa@`&Y7lA;4?2blybj6MgA?PBAGAR{V{~U>Gdc@1HnFKdN z>}5R$53;DGLZ`1rYQJ{b4 Y|K$zDhW*sPf6(uG|K9%JWCDQy0L)g1a{vGU literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.10-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..c0551a883a08dd1db8ca261874a4c33e90fe6d56 GIT binary patch literal 2482 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 R`@estf9n4aHMss={{ik(sAB*C literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.10-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..17d7690144db492158204689db524a81e29de431 GIT binary patch literal 2366 zcmbW3c|6k(1INE}gh)ilWF>NBvrvxaCifAUqot`Z$2LqODo0I@A!n|XE3#anm7^TV zk)|BEezLi8MaZ^Xd-^^9KmR4ZVTK-SiFd#p9r!0Rb=qKH!>HSRg()t+J<-$YS z8S$c03z2%Qf>hSgS%?gJ`jR=N?~%mq{`3S+nq^#HWcb+>Yp%4p+3}LIfE}iZe_LF7PwBWKMblEqbzw<5R9LD`=eCD!u z`gf4bYeAj2GAza@rKgBnFrtp7TbMDv;P);=&u+-mn5Q}?5|P|obad$lbn^L62{lq{MwShgz4KHk`Ww2gD-ML z`+hpYmMcfd-O;dZ8}gXpIOx=<@8uoPnGluEoLbIau4TgtVjkoB~ zkFV#=MN52Jc{_GA=joZq1jCJIW5?^nH9W2|KfLGahdUrgY(G{N4%wTYC@ZsS%8O%SUF*TF=WB(QytoUqrUnaaog{I;H+eJ&8ATXh#lKl){&HMJh{Y z!P31@J-+m*>+18QzAz#kP{-Gki4KuDX~(!Rg%&AG)#FgR+X zucK^)Vx@CQ)1)qyvIP)1Gqb6%e8zE&(VwQZxG26-8>Nf*K7PbmRZ(n{)z395L!mI^ zE1Y2ZDsHdR!HuP`8B}b;^$?q`HqR0+Y$xknydp1n@dx{%d*{=A)&YWGRW{jUo4i8` zI=TXG{Wg*pHU5JJJ2ka{pza}wo%Enuss1`IqA{DRw==ti&sjM^$FQZ%34Xdh6(}&S{W<;c$KJFTYFZh|pd>M`m|*{j zwamD!2EtW5(N7H4 z0#fJ!iyJ6yRsNXnsvwE>x-7@kaw%0p@m5R1iJev)GA<*WNg3KVr+dR%+J-stMXQ|W0!$(42+XP@j*z#cpo&ys>S{v`8XWVV%=xCqY}Ng8MAUTYYCY^PEhbMDNlX&d}{w z;zR0DdzYs~Ms7E5|LGW!5x^BcHF4?Qk2Ru3G!4tI9c>_MPe{wn)hn3t4CC)pmp6ZuFCXa|K3Xe zk5r0|&@VGrV+KqEMg(V&p3IMB71!4cIewgFM!blrhyg;_1F(bC=|yRHjm!ISr44~m zDT`AaExdcV?yzyZErsDLZ$Fnw{P_*z@;cD&S>7^bq=C@q$~y$v(Cu@_|2v z`Qx!x_W{0(JNx*+lk=4~k{V|5&52+g6@t>C=pb-UL;J!WvEZzMJSLSUqHuP#;gWXc zMkeH)z&>bPRCz>giXJSXa4J_*16U%;8=K6ddGqsm;3xq#Ri08by?*0O>fFKsxovOR z;HXvn!$Gj|2l)0a&Om$aZPVl4#SfIuM$3tckayIeP<5=i1EfX2#Qu>RPg9KNnh4eMu<=Cu@$WT15#O z*s(7J3eO;CoF;>JK}xqCZWDT;&NVl+{J*AKd~{dZe(5hB_vJYo3)hbh?P*0!v#M~u z&d%l@*p;uaZe%fkkdsYV_?3LolIQXL6IJyKt75lE_4IR)$IQSIA5BVT?_yIC9JRSl zn`o$zFF5|S(oc3juOH66L~+w3K-Z0v{;pBe5q#2_rTS z)PLwr@SKUdx;~X`bHbla5*l_Le0(ldrth0j*^r)jr%nx)R&dkO2KCI_SH)panW9)7 zNW^sp_UTLh?qR-R6daq|8%`lOScA9>xc|4q{MDHMCJOW~{$HbUu;xAR?;rHH-hbKt I*OCC>KNSjbEdT%j literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.11-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..5da28d6c00f8b1888f9f7ec8ad823c43cf4f5f1a GIT binary patch literal 2484 zcmbW3XFMAS1I9z5R%`EBUXIg7Yn0lQBv#bf&MpZF62jRfX4Iy*R;bx>f@sXP_RQI< zrB)DJRknQ=fm^;Z*2ht83338TmUrU%z^vC%u5Cv05E9;0Ne!t z0O5Y900cN373v2LMc^=AxJa-!7UP2oMPV^uuYdsM5Nv=4A|eQj3-$2AdHbQl5X$Hf zEQTG#0&oKW@Bn~bYO1f=xms}f%tWiswc*M(+Ohr#pQ58#Rm$pkk3ex-OOR7@zc)+oIwr{Ug%lE=mrffqpypQ9hGyl2! zFCrp8wgG*bXE^!;oitEQ<8s~cUg1DZrDk_LuK?aWp?=*hJHzElhCoY995TXho&X)s_1KY@O z`i2=A@Z>(wABYz}4_Hm#ODhc=krrR$Db!mJbByJ*uTl)}fL=$!mPa7D7m?kD-e_^D z&D=$g8_0cl#l&zb32=3sTHOA?*m+q~_Z;rn-D7-+C_CW;$!nWvLHZr5mNWVG*XV&` zS)*T)qYg4p2}w^_UN^bx@(J}SAHfVrS5Y1x*+&rO zNEJQa(p(=8j9_CymOC%rC&hgI?V;F%^4~iv0LUv=E^7{Kn~(MK)g*gsxb=q%A#rj~ zKPr@RMsYr%J?bzidO9ce>cz>2xgh)PGV1V83OGTO(><=8pb7(sY-PoiS~JJ^w=f~D z!zee3wCNuR)y^X)dLWGvSrNJ_&&!IqO}gp8E3zoTBs@EP0OyH z-dz4+=G}1U8GK68TloS>)+DDqIEQ`DQ0duMz*i#laz%-?@jwn4;e(j7c%Ga7kXwtb zsPQ`++IU-W-YAhkpv_k;7GDhEb&}wis}-3kW_Kl->>90M#OW2_5NAXVy|VnLjJt`M zZfRgWhx?(rN>5k`pN^TI9roaG$Sr7P&_T!{Y7kyGDwcNtepG!+@rJA54uSRjn+_gZ<&@1k=ado zuKyf*@2o3@z4$(o2!s=REV$W~B=Mc}p{c=|q(?|CzI+Sbb#h}OIKe6XI=aExAygp& zdK6z2nL10-tH&Z`ygvj{>voa425ZXAy_WihqQri9~k@wSNIjZDkW z=A>znY86<&#ewtP9SL(_8TV7Rwrjn1FH)hc7be}#mPqy(y&6|($)~V|EDEn=Lz(Qi zjocNAf~D+X1@1S&iMyb)8hQd3@s)N`-HQD)+SxmHd8N39rXMV?hA7W%dcizWIFdYK zto@wvr@$*M3T&@~O+Ki8QT{)had1QV9CT3uGE9|#?^BzAzKu}v8xfZKvi4c1s*j%| zN^iEH;i;1WW!+@W=(MZA##4)`4-48Cf&1K!i6xT5T0qk<77bu;>S1U(B~gQ*OHFMw zr<{QP=&3JEh#C3iI-hyzoY)WpI#OF3Km6PbGO1U^xdWTZ625=t@6o_&(g=-9M`0Iz zntQq|A4OM*iA=nYHNomu8#_c5pn2PO21Y2Sz6mxziR8b)(6miPpVy8Dw<~Si*Ny|Lsn=0 zuweIODqPN`wwWi*#Ck$52Oj2)+|-(nPIGmQSR%JD%gE9^`VO9XJ+W7ANfUYYn#3Pq zcsp}EJas|xHNwr)iEmbiYC{yq{#9SR<1iQ0LP3i|pNQHITmiV4v+fBeI@GbwCfMN1 zxJ+kqy?)LkHxGxMFRDDUo}F{BnUFyigeswpvsq`iHat8`MlxeHyB=?G!$HQZ{1=}5 zN-!1*_@?m40GvLlKCBtN%BwLn5j-kh`n4 z?gfvUCY@%4hB#F&Jl*1ljsF6*XdlpJOgDt9r*C=z>@chlk6}A!=`3u=TOs8NzqV&q z*^QY91n~xo?d03=W@-Q-e6NTa$+eIk*EF;SvJCX}kgAy<_s+Z5BL0iEx0*9%RrPC>w-oxb1oCqv@zG7Wrw6)nHkc`Ey@3?rh4Z?+SW_i}e|QWU5!eH*Ak!u8iV8!vxb{kg7sykt`qW1cmuN$U-$HS*Nw;pNY#!D%<; zg(cW1$-U~DO6Y=GthUQ%+pO0>&luPG{5`|SMy?87svmjTO zg@(gbcN#!b1Qnos4^GYS`q zrIXKeHqGYR;n&Qrg@8|t+7*i8(@PecNGs7q%=7TPT0%Q*SlgKjd?ItI*Lz8lcDTO} zX4uu3@gLIi8dZetcgF&A{Mkm?)hkhYy*|FGlgGkmwP%;ADK0raJMcaRn}t|lGA95l?hK^Gbqy$vSJpj?8@-S6YtmXF$Or>E-~?B zGqm1Fuzjv$v5_U(U%m@c4B@OA{%naVdAZ_x)cmtkF>1XDlE{KRQjFO99#i*P%sM0L zFI95K*`{y0e4=$GL_C`EFtV%R%If7&-L|f^1rxIY@PC`rKl1e7;F0gF`*NgMHDMTYfs& z5IjzZmk;m&01^P0k;y3iJ$(Y@<3PQsXh9baqu!<%mvTiGqFE`@WGK;0u;!-JZ9i}o zvVCp$U~s)<`PiWJY8}L8R@x0wee5D3m9ad%k~*-v1?quE{+S2nNL2dxu-;l zw6=rOqa+3{%50M{CCtPFICDQcsbhwzr#KS@aMV*#?TRnAa>!h%=9La_gsTw}d)F^Z zOYbiNZ;W<>XM9W(dCRLNX`J<(&hjTo`&Tzx&GIwKrImDjg3{}6fUsni*(l~T#DNcc ziEh9U*K5wH6RofKQcO9nXAfd=T-kFOFtrC!qj%Yg{?d*V~7v`JR)mIXo`ecz3LWpselHE!qC#m9(h#t z1jV9_7}+&v8YSdgpQY`h>5u*e$G9L*`A<6wQM#sR9>tdjL zCKa36B8_4X3t)Ynvm#jcB_R}-g_$*of%&{zOf-)uV#n zHiy7{VrMmnPz)*TGoTA!9Q?Sai3sO8#~3Ce24}Wqd)=Tl%IvcVNfPt@yA96rM-=j> z3I}Z8g*+sM>>z*n^Ua0s9^3_1SiNu8igIY5Qnt^#A0@OU=AlkTXJw0s$VIhPGO1u~ zl^L&Kt*t_d(lc*Qf*r}Jzq0JZ#Ge%vDrjt;BJy$M+9RD6z4z6Bs=<}2l3ktQbsy!1 zp(swR^_}uA%i*Bkvm?sI%?(5?5N%p!EakZ;j=x5q$wJZK4Ps*Y@pC0so#yFh1E-)} zyw-;zKD1tH>i6d>)ATKd_!kZ)sPf2>C8etmp{b}Gg=?H@Kj%2z{`bf;u z7qZt`pE8^Cl~vC9Gq)(S2Wc=ihI~AOg~q^Enl&VY%w*C@e?b z3Y;CIby{{)e-Gmt5cC77_0;|Dvl_=#HGyi$v~@hO2j_SYK*Z|BBP$!=NWS#LL2?6W>~^ow)B|U6tkW zu0hsd)8)*g>9qD+_SbeU@}X;{Gmukq%!Wx)@l`55-?lleqtW+sBLpd(cyBvep>fjM zj{gP?8E4YyJ5{82ejVNzxJ~a%FV&p(poqG<<$&n*?vZzu9Fk5yI+Hl+L1Mot)03sOozjG3#P@!@1#KU?+#zw(B6$Dhc-?IbLH+p`>f(IJ++` z8TIupo4&m$exExlI5x8M$m@zN2Ytl&Reat(hbfqp3#})q4RL_BjPqg%XWAcMS+vEf zY}7B&D1zgonunR}$$5XZ}+l1{o?H8akk=p{2M6IqRW~F?YB1 z97pRS*?E}vozSA*sY5lCR9YexO#eH7dnD)X3;E71aYFR>cv6Sm7ZK3l=hH9&D|hfk zeBY=oS@@+;4b6Ap3%b}m)_;;SkBi2IM3a7J#5j$gs zhnDLe^hD5jzb|a1orP!UQ9wT@Rcp6YUS$ondHU~D02Rsi4{h>`x}+f8{>xUFh=<9W zMbyZO*|GS>sEL-5z@|RSo~k5ex@LHt{?U{<^NwSyX3nplx=C#NUoDQn;ReX*dfaEiLqU5QubA054zKk@>H0m5ITU0E~ zg8i`66K(cNLto?gx)p_Zdu(ba`q_bnq@G!A=J*S$Zh7$`Nx$@Q)6et;fOKan@@$(_ zm1=fguk@8(PeF*_h>w7WF%&lmS*sP4z_=Xr>EY`EsZ{RF$2YOJ)_?L)!gMMt!=lvW zqkN4VBz}#R?WUzSfxcoXPuT~a+=;|(|=Ly3E!+JPSB2$S~J2Kb4PMM2*aT#qNP;98m zqNm%ul>Ezt`+=L5x=P!@_pib8PB1QRD9`^EnLjS`-;lWe#s8}{PB1?HfB#&6dgBkf J|ELlG`~%RmZTSEI literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.12-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..4f3f62f23fc0d2c2abd9666ec7dc6388e8c6ada2 GIT binary patch literal 2486 zcmbW3XFL=R1IN!QdmfQ>|D3;U4%s6+PFd$<%eXt8GedPoB8S{rUFKyAp(uNmy;oKg zB3DLSD$cs6p7+n2=l6T@{rq11-hZtv85s2e^Z-tPpU<(w*krTFIx_$;eiZ=F0002t zNEF&fJ{%Q_ln?a@#&`zbmG=t3c%wp50T_8tG+H4f0PXG*5f~60>h2lrg+zt{u!y!~oRDuep#u~Ia@_I2S$xgBO6x)k>QnhTYSNPh3Oy~<=Q}GTg z*Sak5<9qF!z;VIvuk}pV1>rYe0nLL5jhml#2xG_JJg&$e_Ou&n6vW?qxbc`r>O{OS z+Qh=H`T^gVxeyhHDq2jU*)5(uN$y@SHaiJa-5{`+dEd@*afcn0RH4)7q71=LFUpZ#%#oADiE5L%i)%#{4Ism7 z!)F=05$yujZmNFv$35X(uRZ$;931|Mgf+x!**mB~NrqK(L)H9;W_3yO_nM zO9j{TgIUT?e*L$G#%6#d%8($%xhgrt3TeTDMZp`G{4E?^OZ8^{tAivm)azobrr>Um8!#SiB$+wVX}WB%!xPYTrwW^M1d<}WckqQv{AGFb{(UK(rSOK4Jrhz z7gCeT`mn2k79#qC+Clb!*1-T-)U$)U)Bvjp_-48$ed$nS5!k%7cIs}544=^X#=|4a zL*vTSl2>PyU=h$}owp<Gvn<0x$x4=K z)w+y|i~YZH0i@fs#2d2H9n=%T87oC;fizH3^lmWLBwd~grN2ASo(G7HM5OAwSY(Zf zck$I{S930!Dfh&dTDx7Q3ah96i|VX=egvWCgBR_-e4}aS1pLIc#hvcB1%GQU+7<0G z0!#~?vzW>zh%)oJ`OR=5cv6mKuoZSDVZSfHFFK@WDye1TNvPm4KEkdG`;}<;D9IK{ zrHs#}ciG5@qKcaPLc601$R&2aCuTc4s=g-LosshG_L9nCKX205p0m~Et5Uk zOol>Btfbt{A1&9viJ(Izb73O2cjZs^y9BP3OY80Wsx6N0D&|Wp9SLW9Y2fC&p9jZZ zKF+TB%v%mqBknwF9X_WoA7J}7y#W6VW<%DSe;a8nH?n){rfk6HePrABs{W4ff6|Kc zs&GPH>fz*V-&CkrF;hb%=G{!bjm^!1Df4}b`P|$Wp;wjUDHSUiS?*4WVU|}KO!4gM zfD1c!VVK1zKEv+`=~4IkX49lmBf$f>b|AAVElwF3Jld@Zy$s^gXmn2B~`{L-JR=SqLN^Hc#e z=ugoLkiM9!&uGWcH1J)bqq95+qt85D-eOKz zi6x|!U9)#5?jbch_GWKGnvI>xpjV=A(gMdEJ;cW{s!zDXJW=4a9_dTey(}LzSvYHa^#I3OsIW zyf!9@Rd2*=25*1z`$gq-?3{T#ehD{KPV{g1sx=bPUXMUam!Ai|N`f*nG5sqWOcwo?dAyFOTOcnt_auBl>C=G@B!SKt^6Z_dCZ!I-972hh4&HN} z;`e1V@ByKVV%j)#K}=Ay45f>kx3_){RR^-msTvUA$_2l*1?|A1q>g6?9D}&})10(^ znkXlWSuVfqb=I!0DH>JxV}o7U+Fk(Tv)<$D4Xs{rjeDoHz#yw-%c^%`JqK9&0-=Hl zpw9{l$SwARG2ybd#3Dx07`pn5$LwM!E1qY;&iTaBAHH0wje6LtTo5-5u6dt3vZP9kG0FaoTQk>l0(F|-m9_XoET=~aE`(G9QF>K8wW}u@!~JoI<)5P zGLj@N_|RbAZ;^k8!{USkb!u(x_}(P*|G;YX)0tfWS6LwR#DLXzv`i9j-@qXF98rrU4tw~JJTik zqBk*Fcq=TC9@8lbHADCC#LDjiv_b_HJZwFy__3U+NV>}9NqyA zQK<(JjQ$Dv436MK5Fu_;fR#DeU9qugc;G7UyLj85DXDjTOr(8o%znGi(7b7i2AW5L z+Y0z4;i_flkNsDyDw;qiS;aBi@^6!7S+&<_Ip3L})|Pbi`V9Zuo&M<4e-lIZ7yqwG USz9ul`}?Q+Q{O+-V)?uN1Br048vpP?cHk-Ly1 zx6F|=XR9G8XYuR({r~&t_dK8H^Zo1j|Lb7G!wUs)1C9c4=zSM*#*IXhAOK)s^k)D7 zAPj@Wqcy^?B#Z_L9U6oRjnME54)Vv6u)#qZC_G-17>xHthld1*l6+C2ei-acv?h)i z93;fc2k-^};s5}XP5akNtCOz@y>t@{a+TC;) zA**)l^r3GpUnGX4)@mW~ywVGAK-lj9W7p)mqMv2=>RfTF6M_wd28%hlwzEZ793E}Kq@24RCuX9q&TH}E z!6}k~d#+y53(DbeUTi&4;MvJ{OyI86ro~=@yCSw{1Na=oGO%c(pGezf zJgP*{)IN*`_eZI>z`u%xJG|5t1IlWfJC?gsb{gh8v7fb!=Qus*{>du3VeIxc=JH=! zVKUo?ww1+U-TPw@_RTIWO!#JJ@{n_WKpf*yd6f$y8j94nH2&mv+5}D|%oVCtdiv~} ziMUjsf&%=DY`M1VcbwY^(81`o^6Gklz*CJ+uz&G(DE-|2zM4R8tPd{!P6@nlxagNs zv13Kbk*{>I3J=i8c_lPEinZ;P+fAJlF(QQvexlsBmypGDaavGYF>1J<{AG%nuiRE# zbX=S{%cY~svih$rdNh6&rAiu&);{XUGQ6@Pzy@9k*14>4NUKVoDLIf=)NIr&4D*zM zkMRQA9zHG<#@so#mB^ZsF2{op1)I;TDk|9`cMI0xj2IJlo%z<0?~2E(Pk6E>4>fDk ziJIeOdHTP6Q;u)p2MEi_MzdX!U%NqzxaJW@vgi%5!~|Z#`-~3?auX-32n9TBEs)r7 z{1RBCC&IP`A)2YGa$MU9B?$8j)FmG|#;7~}bb?=1CT%dY%%h1fW)d>tQRsH^jM0Fy zbZsxOJ}QrpcghQ=WI9#8=~k$xVBS`_CvIrm8BZzDmj|rUG5Zx7J~BXy8D$wz_wvr? zNF<{At+95ON-{@oC`54QJ-f*Sz>WyKh+7#_Xlg5T8P5mvi zZ?)kL-B}MDC7whVwwfx)8N=A=!nZMZv+QQS?(a6H7Hb*5x>jR<@$aOUbaqlQ=1$}` z#wD~Z`%Xw@)|Sb_k*UFU318@Y?JK19k(Ukd_4jO6v0i+V@$_VI$b`Sv0OcseA$d7M(1^lXN~Q5f^NOG_Xwj+v(kYQ|B{bzt7s zC8Kdz(-KldB7xF*#@BU1{1aDJ!?Vaq;w50K`<~5MPsn6KYo})Ep|^CpMQyi!-sd)- z-V5(zN`SBR2g3yq7)06whA=rjn2i2;6>POs4nt&XtUd-y2F`h+Ue@h{g)=Ef||l$^9-u zn%w|Uvm;-<(B1%xymFmR#LPLly3)k4ypdQkVr!56mYI4?jyvD<}ZDtFQ5d z2~`2d)7GSyJDrRA@s^Z`+k1rLgt0grd-_MjSG`(~RHPUrTzo(e&+9Ju9G$&W6Uml5 zqWE2AKp1Y+ce*>VOjF;1+E}Kaw7J-^TKt7SFW8z z4O~8+hepNGRH#1g9fy>TN(tvA;Mkb~GyG>+n3*;}+-Xe-BCrBNhY5w6Dz@Z&4kg?z zx-VYApTm+;1hqFa10r3w(iYF-U)(J>JzFyUx2GREx^a_g!*(H@FF2V0;fpZ-uI}f@ z7gC_wsvWbn?m$2lvM|HgFN! z$G!1cf%(@SZgS)#^W73>Q%1l}PF1=piJT}i?I6TmK`4P)`IpydtDoTwL-t(9gSnYc z9c4U0lPNPe+!OKkZTm`V5UkyPq)4IWkw3pB`xg=RB*AWPAKE*;_~L@p#1Km5-20pT zWg9Bx-P9Jutb$p(ZRs0h6gk!Wn;8-r`xMHuDm!SA{04hGdp0Hn5-Y(J_*ixS-0z=` z_uwKI>2A;3YeP@(x$!=RQTofHNmCKM=W-dxhNT`%sDTV;GKU2cxtr9NvyREcrz<}S`X*F;a2iJ5)QOgu ze!_P)H^s5;5mM9x#q8hE93~;f4jP*p9BjC_p*;WFW&Y^Qe-p>`FaBS%aj@az|M$=J Or`P_l?~g430RI7RN^+9` literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.2-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..f8a41c41062e562d0ac67073a856689406075b9e GIT binary patch literal 2495 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 dNBuWZ4FBT)RVpZ$ndRRpz_guz3Ig literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.2-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..7f9f14607021b34f80022c2b2e72c211c25f0543 GIT binary patch literal 2377 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.3-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..ccde916df11d5f10c8fd241fe21c4fa61134b92c GIT binary patch literal 2385 zcmbW(X&}>$0|)S*A#)a^&5<$uMdoO^o+8xbzUL@s+B5UWxg5!{nB*E2(IP`dhe^a9 z3FTZ&2gyy?$enwRJw5;T|2O~d_r>?s_x;DgnwRe^00P7SJa*Uhwwe6p1TX-s83KR- z002<|_#iAY3Qq_?60qUHe&I1l|B&D-cmh5o80i-jq!|$s8GJp2W%!SKWhC z6VO)9FNqMQh4fA;zGOI!>pXmroBm;P_@w+K5!hBC<67ivxAIbX$R;$qBRMg){^G@g zzE2p=f{LDC@j?*Ae%1cjP519TRN zE~*s?XFWuyZ3VafLoKUt72RLjrt257r1Orz<+oLTWshjQ-`+*bvw*pZ>1`w1T)PzC zq`tZYnvrv;aR}u&N5T9gW01R%EI$ztxw~*`2jKo?-b_Az!)YY5&{T{U1KA0|$&@RZ zJr2B;pvtcQyq63*Cy|&d+4{3+*`0p96;f%5qnP+qLb&gj^}YLZ*LCfqE_IgncnP`H z8t9!=E)aFBn24R!tjZENckuMHF}Q};voy;~qIlIhizMv)FyBg0=ab|nd*-NFxamMW z_(n1?m2@vQ&s+|J2?~HsN|njiFeIV%y|!AN(i77i=4>nxoOHCv?t!TdndTX#{XBRh zHm=*B3>8Z-Z<^C<{?%__c>PY)SWBA*rt3rBa|7U+#)fG(~~^L zc~8RDZX%a%fJFe27TeF2;tWddjGJf@Z+MT@;~vm+S! zbha^}&q2)f^sTBgYW0O_`DhiMvT2U6qKMDwuBCjZ+9_%^tT5K1T1={aiqX`PEDb*K zKKhoc$_;8)0jhSK(iD-YVf8Ml{^>knPpM(Bx%&_GYlIi0ocpQ^Gydo*?0}ooe%cn{ z7k^8cYHHeW8)os9cFG6eXoA2i@Bsti9jA zvw!MIm?AG!Kg`cFf43^iiLcbWmI43d3dTJ)*EsPtSjmoHW(Bh%(p&E2gJf=vvn;-n zliBD%TKZ#y{y!HPnq@Snpo)rkWVkxi-+P>I=&#lGnnuuqIqJD$I7L`-cF@%bdYBrb z;etdkjc$+w$tF7Z+Q7&5*6|84d4YRkb2BZ^`1i60_qO40=i^p0O9)@mEMcrlm9}IPn`f;1?2LR9d z;A|iL!o-KW*YQ;xz%rCPXOmrfo`mfYTmHKWN@O~-GdH`pA*>Xx@fUh|;xWyEJYNdr z!Km+c^&;h$k27(|uM-VP8_hzdz(~v@65!0kngxXck$gX2n zI^YfQ#$-DAz)|!4`p&NSTc-~BunSnI3tNr0j2xXGDT7zFqlMyB~i@{mmJVaiY-{CCn4g8!_L_ayX>Y z-mZ?$HKyV{$tamDH4JC1H?>N^W;NvV^{-vu30!AC-P%Bb5u7D#tyHso6~n{pz5Mz@ z{6JB&uKJ#7nSB_RmGqIJ#h73>x;G%t@vprj8FoJU62X+3S9YRX$U;40KqU}5vDm@V z+ zCEFHQv055E(mM_>vWSgzO2%vSHPEwI*%zf6b)MhL_wO)WP~EhyTic@8NJ@Q(rlpg= z7B%y`7RNlNNn5#szi>ldR+FR!W*I_EWCC8XP}p57-Gg6bXlp3)jDo&498td<*2lS{ z@0|gYN~r=pK<}86PZS-NRW_g=Dem2v)EP+EYii^}b&t+C(#rzd^fl?0W|e9J3#wD| zXB1xhdFdyjO!8;HbP?MGe-L0h%*7wdyjhjk$e7+I@H>lBYZn^qgI&i+Cpf!r;ii8?x98~18@B6GAOcN+o?$q#rl`wq&9-V%#T5q_uVyw~C z4iCuI4xUm7*_Kcf!Qc$))_5(7szuP;rf)rhQZiomWiK{y=yBl~T?wsN`|1P>!)I5x zj%_(s*ew%3AhKjW@-l2lb~0#-O?i0+QkQd_yBl|p>R`_KnQvGC literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.4-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..004c69a898e8a62b6fd000cf0fafb56db2e8fba7 GIT binary patch literal 2506 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.4-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..5da390c1c0dec1a374ec16ddad3a79c65f0f56a9 GIT binary patch literal 2388 zcmbW(X&@600|xLhY_8;}C{~!8MedSga!*LbB6DvO8|LhAB${i;u_AKTa%9diH&G%? zLRO@|oXvel-v00R_sjb{AD&Oo_n)m5ki!7L4mbwDdi}m>v7+Di5DWlp=mG#b001Bq zgZ1@N3B?9sRD!$$ac+U(Djs;8CpHL+$Empa`oai!UzAsvKRz%B09+;#(dq~40R_VY^_TdccjK@!ZIIaHYp3<)DtViI%H$ zA;vvshi^z(v=OMHfnz+!FA=XK7Cn!x!k>%ES$(ZR1A0#$<>ggscGa@Kxja`(;@^jK zBmnJLQY;y4W|l_e5>C__?>bYw=t1Gx;o<Ai_p-#G!zZp?m&X`$q#0tpRnl+M(%|>hVQ-nnM zoEg03BYZf_t4t+vwIQUpkSL148jQv-2khWT9jM;dAc^USxm#}wZ{LvZHKf8RG(?(N zCf4RQy4+-ee(y6JDBA{_X{jc0ynHmg!$?2F6LeuIPg*z}ieg>bWm0(dT@F)rvAauD zUWz~(1jYNyKpow|TA^~48T+5c6>j~Ui2d_fOB)s21zt~J@VQ+J!bXmT7-_$6lg+gm zyhzs;NhOn#l4X1Dfc2zng!gAH&m$(xF&0|x37p|-@`lk!4yQqxH?e_mo(EahG`BL# zRb|1wsF|&6Au#x7C(s;xl9t4L2hx#ow>WM%Q`<&{OPbdQ#y9xP`7Af@cZjv~Jx6(| zu6=6dF6*%ns-Il4I|ZCI4n6_9*x`}}F9H5MuF0`on(?^5s_e%TyF!;QuQV4z^aOfJ zLbq~*VFDuHto2_aDc^g4c)9I-g9`ID2JrU7v_BR589IyCjbzj<9ghjlA9!p$fnZwC zdm(S!?^>jlk=eR*%MjVVQDaxmElB|AKC7<#Ft^p~UVspupjv_wwp9|Bkc@w~D_ByIS zp$y%m4fSc0SwU^bWYP@EbF~#rb{3f$%rCNHAGrs35v;FiIRXhsqqQ@vrFvDS-&3Wm zhs%6i)1Q`m56j3qqgFmE%MuDxseBem4>6*i^(9C#jkncJdC?AD5;T zT51W8b^Xx2@kZXv`QFFbE4L6kn8na%2P5CqXo6$;8x}3TSh?m^HxdIMygv%BKkYCNqUG7aObV2j7nsTm6=Em4!mp(HB^Ay?FfZBk(u3C!vO}))W*@mH zbN1ObJ34k?i_A^-Lw`>CryD*Bq7!}IBaQq1mdxPwo*>Fm5o9&{5;;7>mt8pn>e7}R zWe@ZmHy)hOX$=@>Bz)MIZ0-!$2CZHACw5~PEr@q=B0aqbR7$qF>5hT2vC+zfA_7z` zNb8{`!qs8LaObgWQl4ec9#?EF{4&YDOpxqnzTO>?Mnq}N)lj(I3TzRBRxHDrO7IT_ zk8acC)h|X@yan4V9~jsnp{lziO6^e46#Gp%w*b_)#uj}ST=fPxjG>G6(esQ@Q4SU2JEttt3_btKoJh(PT!VqV_$AEH=<^eRO-O)Ipg4(VVJ#UNfW>Zib`& zo$< zOws{)%#L?&jZDSZ(z5*hHxz}UzjI`c2fdf2(fu;`F~S{Fr`EhCQ(Kw#?fxLWm= z=0z-cE4M2pE#9F(U2{Prpm7XXXZp0N!kKk0Q_N%j@!|4(j?-C3^vr}QX6@~Eyf^DR zfx(~a2Qf%DxDQeei`O~W%N!zDi_gc;{Vykel*}1ZqP{ zLhN@fiPv27RkSe^(Uy>2y?RV58JPxA9N<3ns=ybFI-SIpxB7godr+`zC=!1CcA+BW z=xCF%7ayVik79dQQ!cvy4F9^20%%jM=<~OqOMQv8v_k(>2c5cWr|&hw{yd2uk>cM} zxqVnwlz*QvCY@lgCr~5U?C{ATuIP(|&fZEPP|-pVH{Pp!|JyD}5cze>s4Ch)T!U31 zm#KdPW^~=<`D`%qLS5vMy`RyVhd~70idjQ=SR!0*4nI0&tc|!=#j#b5Jc^NSQqd>- z9Yx6ed5^1X7K}s0P4&Ov{^7Z0gI`PRZnxL-73s?vJKRlfvbADkHvs-`+5E-Le-p*_ a@BF{cv9;pl`uETFx88qu{I8t=fd2q)Z+nLT literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.5-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..6e74f1035a35e5f15cf61a1baf1e5f4f719c20a0 GIT binary patch literal 2500 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 hZ1f zHoZc-aOy$i|?!N`;V15Cl?Cf00aO6e$W2WfR}d|4*+Z;0YC=; zfIv@zHy##9@b`rI<9&%Z-(c8H649ODPaqLtIB##bAIaMlA4Dek`n%$MZ+a2}@Nh3b z5|Nh+47dP51OWU+qj_lTYxv}kkJRfO%Xvv8K-;Bbl59>IoUP_>Mu@ifpgHpEc9QLR zFLjtDzg}-$6?+Z&R%dW=0pj3PBZl!wX;@``O&Qr+aYMj<^|Tu6e3&nz%OWuN2m1j?Mxad#jyIaOUZ7$U`TP8 ziBuB&+lQ^&GQa!^Tby)=_qD~TNoe3Ry3G}8S!OoCUS{QUr%6wUW5wPMN6R-C!}V%C zATNd-tCSCJSdQlOB`D5%HqXy-Gr<=)^_{{pE-vwCU~}Ii9zdK}Hts=L@r9qNY7%-P zPZ;Mbvp(q^?j(yRg-(18QAeZH8rEtuGIOQn`c!tm*pz%Rx*v;jde{x7591p+B zcuj&;Y+BfyNIR^qbz1+j#0Z8|LZ=%8!8DB4l{Vr@`s`@~s%++}t zwNeUa?LRwqI^?rxn4YOtN0qmZmriRbtC~v~sUk31Oj=7;u)c@d2o2QoM(Jwbd5cy#gNLcO3AULpoa>pXS@ z@^6IIPS68|g%4{yEA2&@y`r6c5TsE>yMC2C*8;*M#l)I4m@2!fovzhZC{p$5=MJNu z9;caOFodLoLvXz&>tf33kEmZdOYcVWO+0;&ja0@iCkYhb5a3vWx=q)=Bg>9VL9$rG z8^J$Io%U>uJ-@7~IL{SlyVYh1Q03A+AnI66TL$Ll;-zJ>QzCoob8IEWzduBv+#;dn zL#E7Gtpq!VpPHQ+6otCY4nvj0zlth09P<>SBs?|75ZH|Y`LZ<|v7XeMgc6vQ;B!A240q%L%vlmGN3x zaE}wdxWSNEvXL22rupP89sWw~RGsf~Y?|gWGN9kD0DYb?%3k)fR_k-fZxKogA{N?& z)Da3vNV6af30G`l*eO9utOQXnOztqNL!1O%@xlqb+D&bHsoe9f5hEBKl%gHQFnkOj zJRS=hw9%i20)kik41juFxC`!}J|Ofb6a8EF`;!j><>VQEF_qU=^p}gBP4i^}7iJr5 z-(W;$w5N=%o=mRN`6IZmdAyeG53WBKV=I|mLXDq_u;-Gg_OK<}--VA2~7X z{H{goS`$_DF~YmTrzt-5HNxgr zkGQk+)p!2ZOL|wL$=gpXvh9hE6MW`VaiL>MRF0!0*WTT%rTo75i~aqUn7_OKQNC#9 zJDh2~09Wr!spo-ruJc5(a;N85`~jH2K8T+>r;RRyv$sL=r-r|r(0OFQ*p)FgX6l%W z@A~8sdsOjd(XF6pjNBRP^pjGGMh+iq;uE^?YLu@V#;yg1yjrd;;I-y6ySHw<83LFuadsJ(s6MR@&Mzv7 z7#vw*BRGG@zo^-_MK|WL$AHHJ9L~@%pNy*8+okqgk;(`XDZXtn+%c5y_HX|9Ac;0 zd@K<`JXgAuZeAeb6Qz1sV85kensBFHPrYEEa`N5^a-B9T`>k$|atKEXA}Ubt7($xIcsj z*M@5xXJ(~>$G48`MaJl}Mw0|*FL%2O$4V)ghE*N@Fen|hG6!*>IRCe4{;=l1i2(gO|F3YY U%)#9M{y~3w>(7q=Q4;|C2Q0-}l>h($ literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.6-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..2c4e27be0619c0fed3edae9019587ba1334546e9 GIT binary patch literal 2504 zcmbW3XFMAS1ICk>Q8W&rs67rfTCH-n8X;l^wMuG65ybAWO4U}hD9%=^8oSa^V!Vzf zRhue76{W|eA+d6I@Avo1`#c~1zvsjA{cj6rVKo4N0K5RS?}=0IiF))QCjh`<3;<{W z0D$NKbdaw~G&&+cCBip61Qi~u;*AOMK}Vo5Au6b#AXO|T$kR6_6cZldi3;})Ku7ti z24XQGU{*GO2LO-&0O+Nq`D>hNgjIebb?NYw4u_!S`o&YS>_zkyS}))=`QL?^f+{;0 z*-l`K_mj(xf*(qRlJcZs!IS&Ob_{YP?BYDKn81 zmZDuPVnQLaOrYdkR@a%GTzge8#b{&y=BBztb{q?`iX6WxC>Ha483>saT;!aha}2=D zfZ4Zp19V09-8Ck&`0&E7gc`gW2`%aw=en0Y3ky{6tT)%yr@UxcGRnUHLCuu)ix25b zU<(7B7LqyKCYn;^x!%0%BSNgb)b1!A(tQQ`ff=^l+JaBnYwthd$cFj692j9B^BvM~ zbZ)pmm5XtbyRiQg-jV*xM%i z#Jf%B#LqDK7#{E@4y5xeO^^O{mFBW~tPkRm{GwNa^6je4S4%l|RR^fAH)3AS@I5t6 zU?ixPnY&6+UjZnjA&`r&acVY~Y?QceH0j1QMgHOgM0~s0YV-pu2M!+KR;)#V(*?Mi zAlC~m{?RbPJ;tJ*bN&!isJLLK{j9OlVNU=}fU<<%iG0RAWvkM*cDq+oFzS8qAtxO< zTy|tAbgN4*IYPmX(yhTw=Upg$^caS(uKQN0JTp08+ zG?6KY8ULCas0w9$bbCrMC>VJ~O7KM|CKU9^1^m{d_k=G`j5KAAvt{cV*`Ejh6c*=n zK?Q%Z#dH6ad7e4ky(YBz{84|Zau&UYdxdCw1)uKJIBF3;Vl#aD@v?QECA74hIyk@6 zng~p|KN|J@*?Hm>$t4i;9+O%3%D-%mQ~PbJzK|lKKs9BfUe3qJv$bOJb!y#YLa>s& zqJoZIkJZ$#gjFU#Pi`5;fPk{L(g%ii(+~qY*Dva1E$-FLX>%7Q9f2&sZ2k8BV9#^* z@|9td#4&C0l$V2)r&f0)!dD0Il{fuX<2&d0(C7(4${akKQ~x7cE8+zABw-%9fr^Cl zCI38##EJoxX0v6j%xGMPt~dY8TMKru4rFZ%TNGXT0G$ul_c$yz4R@`N*;@?jT1A`u z^{m&@e$9tc;1bi&EB@NM7sPzWZd9O;Ip89=pg&_-!%V;!*t#6j5*^sHFz?@acZ=t zt`w_lEPLnWy<`OSBu}iB-t!pIiWCXw&%s{7%TJhDpKsR`h+R~>DNWXLIum$cRMn;& zSx=A*S!nP0S;10y_L){K_PhA^Iv>^(26S_k+;pL)=0nqEjUt3pMDv==0pr%eVZ*sh zrZOG*?(TrLsw17E>(MA0&gSPOy4hmihb;(Umn9^&Fc+AYWIm{=^qKetux#R zC65llR0FxVgfoy0y0Cp7c9$ZF+mf?nFrARW4~i zxq+`ed&|Z)77>Oo_Fq*811&wL%k+viE4b==)tYBMpNTB>*_Lju#&5`~tJ@;X0#i(; z5-IZBA}WfTqB;{Ca?A{AWh9$utfFU&^&AL(RSk&?niBgBsYQ=6_ovj1t=~AL@NlaX zuh>0j2_KKO$|t-rTvvL^SA4CY&-GWWm`UfYBOiFJ^F5}ZQ@Q;&c+H?EknPEykaxp( zKm5Z=l*KFofKQoo5!=);W4}<(rvD{pqI^u^T;B&DeqGr7&&i*o$^Bs$Ppj@jFagOc zs7vL$*tEH<4>r>ok%8;e-Ux+DfJ^WGuzUmxWDo~8k3O=<%fkm?fqOTw1pG^Ja!=3|9_J9Atf9m%St-$}TzX4(#vH1W1 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.6-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..5b955b0d04063a5e98e51f3eec12c07734244ed0 GIT binary patch literal 2394 zcmbW(X&@600|xLpT4^dwLarP`nX3|WO^(gca{Xh>ZJ6eoTg2Q^6N#dny?ON~lu?<6 z-1n`rTp4Y{a%4v7?f-s%zr4@$;raA@|Jhpe@f!np0Ve@C?7@xu&-9lvj{yLoFaSUo z002Y>;P6;zG%g|l8i6GQdl6!xJ|V%rxCmTGFw_f=R}T-tdthTiLkJNbUId>2TohJ4 zFgzq!fd2@<4FE_201PuT{V)E!7*;+$+@ycvNmnpVi7JzJ&tB3iYBjOv4Mi$HBPUr?vWLQo!b8bCn_<-T51KsOvy{cQ57MHSeS6KO{ zY7zCX|^cG=+`4mySr3$tTd$ik1@GG!RrwPYt>ZAVG_<^9eFfj*WMD7^1NXBR)V zCbOUPJEARzXI#g7G3EL*R#9JW2lt9@7#lxLZ@YDGLku{7ZS94a!Dl8|p>Qr2Hc{XU z@AE9I?*I?_KWm;3Eey{-(IK74OsH$z!SU+ZmCn^o$$uG4G2=CxC&MT)u0&-4-aEf&Pku(825kKgu*Hm^7n>By){uFY8C#<1l1J(}IG3Uz^ouA#Sj%18~ z#&2|2)SvNWF{f{ou|9V*j)_a?l*)EG24~NFGFQ;NL~a(OQC(JUDS(Kiw-}J&TJu8c z$j7=lmUky(@#~M!9M`w~iz4eY)2;;vT^)tnWg!E^DqlL&)8+PbEYG)tYJe3&81izo z4;k`ZM2%UMA9soBM3sy$d#&`q0fpo>vj#4nGpS5a;9@vQ?~=juHkDd|vJqHz5nMy909q86XFh|IRt}hGy_zB0$w=F<`f$f$2uG01?y*sF( zdeGHFnV0(4OIJN1^BpTZK#og7wRU9jfR;0`mPPwgLt^gI^p9^|@SJux;yfpmDXMol z^k0du%us>5)g5GC;j6fCLQ{&m=@BaY3z(hiqMsdF(&b@eYu@|KCCahV|9AElP?tP{l+TEV|=-g+~tU*ctZyHk$3@__0;mn9y(QJMyh^>VvpJsK(q zT@?y=q9}0#6PT!+0XQDPH-xZS_BcY@Hz^1sFCG4cTSORbN6W$uD_fVr7cSs>+(RZ z=-;ZcDm6tEI37J^s)>{sZO2%f*zGjm`Ih^UBZT)yK3o!a< z`HW;M5KBQPNYBlPJ9tm5_)o07`x~uz#-82esJ@j0U4OiB`8wa2dz=^47o?Cp58~4L zzrGDBstHvsL3T^icr{Ru5p-9d2R*i02BuX%QPK=a6|KeF3-OwMY6;fq^1DIfTZvc^ zS>w8IUk};v$(|2G(wcr2if*atP8(~Rb-mlOF%(fU)7LIJTNqC1%T;qGyg`B z?9Bl>(%EhKn z_D7<;5MCO9v1Ox$%0BxyDXwSLgSV1bzw z*4&3oJ*%G*)0b7KL~T>|rRCh_bHt#{0$Y}WhTJC$4F`O2H}o(0%Xj)%%QP#PU3-!A zwTT4&7>|KEG^Y&!m)CFl`9hao%?x)%c>}5KQ|KSJ71{F9dw*TW87DT;h1g=MB2{d6 zizt*jG~-q6=_^AX3q|i9{!l2&P?F0jaeE8BBS+~3vBrOqz7o44uFWJG?zzJ-GzY=J zW!;FryU;}VV;?6%fK^D+q2oZ> zjcTac2aQcunrd&9#4&jWHGjO=X!(q2w(cAUtL$%7geX9qnj!tdUaxI9@u~-sY<%BN zab9HlXhb~hC}nwUsZGn5v7A=+IfGRC%QA_Ud=3M8PJCRP_He#SL3hF_TyuCt#lJUk4NbPzJiNwy|Jyfz fi1Xhh@%%IYuXb#$j{yJq^ZcpbpPl<7C;;F;64#2` literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.7-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..e145beaa991a75de3cec5a5745e4896f04fdf9d8 GIT binary patch literal 2503 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.8-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..b9716eb8fdd94b84b18dc151c38f40051b906087 GIT binary patch literal 2398 zcmbW(X&}>$0|)S*Bh69D6)BTj8bU&b7Mh0S*lO-`hg|P%I?WJ0!q8Bnsjg7~q8q#RUdH-2MF2?*{t0dPfEYhJ?Dhhj?Of;oj=_ zyMY1xyhi|M0Eh(uXmT<}o1-0EIy%&N1w4RlY zT6}Z==<22WN?`%A zT3w4QALT(t0yU~qWmfjli-k=|V?En6q>`Met#FBwRhEncEXD zRk$(c5(thrdtG`I=4vsz2&X-*bQ-BZjg8DiDL#QWu$Ou%rbWv&-ROJY#*v*FXSFqb zCtqVd-Y3C!}EQLWa~pT zUrEvSF5j}lM$0hT7E4H^rn#2Gv>etS)P+`Iaui{aLGJfDM&khS4#WMMo5u zKL`^>Oeyf!Di>5O^&Y(0+dgO*Lwoe>mkln4sp4IhBgDqbpD914tOvn)aXx+?&GFaN zcf*uBf4*PoIF5p%H0P+6vTpD6snWgx4>l*Q zjjFtEqR0hN=E$#5=R>JT?x-D4GGadAiT&jS-J}BJ6qn~glU`|{msEi%ZhOYr!J4$0 zYu&Sa*_mCa`U@5-#esLgep1&ap1m6mPin;@+WL*^CLR)%_G&6=G1HE=o+AZlaUza( zrzT5X@UPRdV_$fg3B>E>KGv}e`p$W{s4Kspfk+SWp-+x~k3POKR|ZPQiZSdk$H zK6q|=gy&Qk>K(LN&~Ey9`$vRl1`-63By{AT1eKW7IMRh99sV$a>j=++C>IGm772o& zYG~oN&wlgKyJsNzMaIl8J>~a0=a`Ps@mcw)1@b*e_}5UdSUdajQqgz&#R(QA z3frgjDH&u3SPDPGKP}&>8}!veKiMFuxs812c4tX`Xu0JiJr`dwWABv`^XrsHw|ed1 z{d=3lIs*6k+W;GkdAKHU5K*UlyRRT5?gQW1nzFSO>O(1|6iewn_dGSH4dvBk{z~;r z=idL&NRtld>BtzdPCzP5(`jw;F%cBukBV2f_vt;OKJxh&TetJ^1H>~{me0gv&5;V= zx%`*sw)*Yq`ioEXe3pV&c4A|JOsA$VYomo1TQY=-snoYoxp+Asp2}yo*5>~%d#qs! zQdmTueO2=MDYVSJ40e8Dh_yY>ODacbtMufZsG%gYQ^7VfP07@x0q8;K?z;@l8M%2L z{U1qYUtwGU9SYvAjl7DdiNd1XR<(UOc{4kxwyjS;K3)ZYN1V#CO*fq2&n2cSgcGUi zzNK035rR0?NAQZdkUXqOwnFBUizl3iF4ldpqP+KUZPz8Dp5{U<)+{=!(FWr)#za_c zr@g}+C$|aybeHc1teeq&PuhaZCK{Kg?~8hJ@J&*d@ugBIwgmD(>7sLc6Vv3d!nPn# zc`iDRPD351=f(vT(ZmE2cJpCKGn$G8lBIXFl$=PZ&NJxIVmNQ*qtY-f^nQ=tbd#;iI=Sr)75x-YNT?M79d(04Q8RT>H#N);6{Xt=`S zz1vhYS$IP2k!)%ENCnaZN`NdLgyvE%=e}TQk7+yF-r*EH@P{!%>=rK<7t-2qdc)l^ z#Xob8HZ0H?{Cb j|2EEV=KMFYT>sAhD;^uf5x#%_T)*q{d*^>E3IP5CsO*Aj literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.9-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..ed530d2a8a8f484b5139ef6cee905d7b8db85df1 GIT binary patch literal 2486 zcmbW3S3Dbv0>)z=v-YlCF%DHZ_KMaPB1N>6MvT}iv|6J$)mjZIwd)wgIc7vtBPdn1 zM~qsrN6Z+l+U54#_xp0c@8SRZ9=`WK3_?c_2G9bo0en2p?azaHXIGg3fT7y}fF=L{ z2=nsx^H2)&4)szB^*{$8(NC4!0t4K=L%jn7l#qUYH$wvb5FSs00@0xeB-+i(`?1GO zpOC-+W_kvIGXM|+0O%zoc>ZzmM{v>TP`wWO+b;p$GHqfnFgC*avN+aeb)J@BW7;CZ zX^K6wdAmi*@P6wS@37!5LEmIm@SX#n*DN@-VQZe6I&{A2qONq(*?LE_@J0A@$}29} z3-O|8V+-5rSe_v>q0rU3RE6*)-Kne~ z zl54E74?f&=DG~jCeLFi|T;lOvE(8R;0zU*EMvCSW2Z$u^cE{!&9z98;LDy6n`3~e) zo$ZO;=%3OLW4$$1{qA{5Gy0o?1fNY1nHn2NkFRo)up zW>1k)=Hf4!W8wAXLcPhW{B!0|(2Rib4y)QPIk|>UQ4$WEQ_0jwTyvLINvmn8 zU7{MoB1upM{hiNuwtAtP@YklM1&LnFlD-CsY z)$gILujDlcxK3$Wan)wiCHlA6FA(O!7L)s{azK-YdMn46_?j@am(EdqDO$lLk;4!; zNj)Ty;2^&ncU8*=D9S75B|(E|T&k#V&Xet?;?}MQ(>g8Dsus)y%55^H@UrzhVclUQV|4F9eoxDywr z-?!Of0*d@&PTkCC!T{&x4&o-|0%7+bxsTp-RDoZKAPy0#;UCS}EjU;$wBK;Mnrow& zR*m;evetSh#+F&-AV+Y%)<{6^VnKT$U1*-Qz|G(TL*<@!kror)8QyuRJj7B`zp2Dr zu{|{7{zmb_leIX%)1d51lmvzUY@V}6lOL5PlrVV5oukO)O&xG=cqSVUQ334>{N`-9 z{Ls6oQDA&V(Q)x90!|1OpeUv{dw6A_U)T38V_G{JvS@s;-E)QFI9SI-N2z#QRlK^G zU6CaSRA+nyd!L5^iGk{{oUxx-yPImCYN|yqCl|*h{nKlfWphCKkSd+=7Mc!Bd*>Co$d-lOK52L|1#6WSc;==(Tetk`qUf*Nf+=7%qFv&V{ z0?qFq)rE4Hg1#6UwDXX1!@X|TG%&`MJ-hK2k-LK0kyDy};yXdLQ+~c+_S=jmSObhS zj>2=cx@62fx?gle)+pU~-rDAs3OWfK1K3nm3g8f^j^n)f zjov|F1_t%3;U`Yy1LCo;zfSL<+9-Ac(;%UQIDe zKTyKFnNp%pcvXhR>~Sl`qg&S>(l2d&pAQ zk692gxdiQX-E>A>mr1-vI%;i;jFR>7t%taF9&h#%=$!)8TguQ9PI1pB%@eiN)}-m$ zeL6op4V%Rx-NeG&WM1dp-N_}wq$$b767m$!HWWF1+mAv6onjL1g_q-FAobSOaj8cb zkrlnLWJ)MUp_k*=et&S4cXeD2eq51B3`Dpzh;%FD5?l=wvgwo()alPZUe^BoEKj3pYs zQqdNDkt}L2wgxj8rkI7n-v)_{W?wCVCMz^V5*LL;73!*{16 zcmP?abea@a<}ZvetdP-Ge#ahA@EdAeKP9sgOYTj&OwrE{3l7T|^7}`o zioZA^U@pMab-RV%@L(NDX)5=(y~Z1NZ54B}C%RQO+Dxr+EOoNKOL|0er0NuJ5wvF< zcoek8t}NQ7(AWP2oia0qqTliGk&Ey0YenG#Vy8UpGjkf1 zKFPJ(3JBOIE0gn|yuj!rwHfKgb888re44=%`u;@hc^J3}+Z2zca`l4ryRC2-3n75LGeH`Mfng%^P4s>b7S|VQsCoXpe zrd-eNy6dt$qZ@ds7Gf%ZJtK7A!f>RpRw{)M(?*H?MR#9EY_BPXA0l_}wbXt;6dM0H zoN`*y-pAperpI>(f25r6QWypP7 zuf|+SO~r0H+L0Qo*f>AxwkQTT*4E>r9G102otCqDU9=V+Xnt|cm3{Gm4G4qK(1Pjyw>$mPr~f8~=3o53 VCIy2qF#h|e`Bl^}YBT@4{sUaovu6MR literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.6.9-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..b2b483b5702725f1a3cf73943c6c271b101c3349 GIT binary patch literal 2370 zcmbW(X&}=N0|)RQMu>ko=ZHy$S5Q zFu8Ipw+?DZ&L~g+=l%2M`F>w~Uwz+y&?pWN0$>OJ0=zJXw(i){mn3cg_?H#{Tmb+e z2#5E^s0883I2AI+pXllztm5uV^uUwxzC;yQZ*SEAUvFp39g?p<+1b_K9fzl2RJ{Ux zi98@q;5Gn60)TEpg6GAfi+&}ejCyVU!fqlS+A1BJYAK2pjvQzgnAPr85p!UEnJFUCqcV#jzpLpHc)Ajvyrw z*RESVixOfOiytK5OPNW>R?Ocy$(@T#4e7-wU>}<9*)IKZFE@cL{c5%OtaTm~wc@Fn zYeg`%2`NZ_RkMQFjFUW{ugoG5P@leS9?=`p0~qnEe4gprf_;=lNs+BzC%#<{lMf`y zXmqU{U=@b?V(7s%#W|Ver^{Pnh%1(OBW|Oi$9o`!1;P_xfsR%9maa{pkZMr^jZ-@Hr{(bi176 zv-z$ou?cZ|=t(sTY{vaK z$q)OhSWtE zVX_wI9*wYbc$X{Q7;eRVGY!kiKa59ieAfF75i~!^Z^8o@ndI;)Ktq~yb-j^sVQ)*! z;I-4I6sw=Eo~{Bf5V$PMrF;XZd5w?D$6q zrO(`HgWK=#`K<{f)4mcuXYvP)jqL;AKJ<=*giXviG-x1xjjbZLOn)VD;Rq^*PBT1} zDyslCshCdeO6BnvDf+#)%^%+4cjgsnM1lCYZpl+cV(jF-qROcyvjVbWb%tI+?#dL^ zCpltXkMaVAkQ_Fc-S5B!wi>BAyoTMLxy-yF+;q2KJ8gaCd(rL~J`v=Q@!VM>4ZWrf3uf9%JDiZ#Z}YRZlopc^VJ)85fqlZJXX#dv2GR zEhwIJ)r+NW&(9Q~U&yaI{h{V&$knB`ilMzb#RVisgk%{^9Yd?la(g7MO0g@_>RzHX zwiv#-P!-ci7$$IyP5~hs1vYkco9OhMZIe8{p*O{mI zdN0(ib1KIZM##$of5p7lO5hD#J$K!*32iT+MA9z5YEP?$j3TK#i^DD!uvUctZMT~C z^2cf@ca+{~+OGyBor9UKWkfsjD8103BywCl_)bc1$i#}0Mzd)VXTl^%^Cj6#73Y*Z z!oTD<;O5AC;3Q?x6Vap{ZL;zLCpQ%^wjMLQ9WsRTnGm^M$+M#rD=Pn7M!>yJ=yIz> ztUf0#Gi%mY%+Q_Yroj1W{H}d&_1)S!4p>NGwc$=+kwkv|KzA;o(P50A7h>ShZHj?VstoBGS!v{4;ZG=7vg00?E zC)Ljknd2m}_(LNG^%TxjF1Opl_PBs$QGq}&T_MU3jVb+{P)}O@1Zt3AKk;3PpG&A^ z-vhyeHG-ib8D!tl?3^@2JC2bfc*}*XKK5)`B{WK9i8F7{&h)`+qKngAxxxN|xVAbU zs_^)Z&CK0aqjiZ*J@N$r%4IbTm*KA1a}M z@|My5cSnSHYlbYi4I(vX$x7Z?C5$c@{%zGJsQCC>%R(u0CYL~;hIqUm;&xAob1DHd zE6m}-PbX)~Mb8+4>cT36ZY~Vm*GIR8j6MQ&kZizc^%_(!{2<1ral6CzQD1u!ApW zhBE+Btv8E}ejZuszFCdZOENF3EIz`Q8H1@n7s4PDE3?zzQf=-Ii#n?64^~DQI7JPg za&`ob8QuB;Xf?NKrP#o&8*WfyvvLa+>AOOIpGk0VdOjoHzqIk4O)qET7MH_7POKGv zGFn@IDygy)(ge|c`v%!Pz~?1Yyb#xq($2frL2?*6f}qp7?iAJkmU|A?J2J?m`(Q|wfTCtHD${sbuL>1;ZqqgEz)id$0W+$C{!(nBm%tab5>PXC&89uC$a$`V`T z(rSP0)d4r=xctn5hO2+w<9DN4#dZ`Q>7zp~At@3cZG?ZQvfTK5T40c69IORpD%!B& z*XuvZKdo??u4Uek0YjcU@0|}BrQTP>lM<6%pBv(@VI*m#F2rZ`2Kqb2OJw^MUTWyT z13#&ji*8cOqiBY3Rgcc`8bHCKQEco8j{ohLKa}}zBH8|#|5r6=6erg|f3`ox{@I>C IQUZYg0L2eu4gdfE literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.7.0-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..6a143bac6adb94b644e35940244ae7ed2d12ca54 GIT binary patch literal 2429 zcmbW3X*?5*1IIVUe{u{{&RBA$$;g!)k%=i|v`CHzW4XedgfE&(KEX^K|M9GIZc1Hx?lFKRpXN!EuHDZ{0;Uxn2`EbP%|ciSAs>2Hsxn~&k?yzD)AFwt8@5_rCo{XNX3Q77)3}fMKDVIe5?B>8 z?IX5)WrI?`t7rsJnAAn0TkkE>;ieN;sC%Cpb74y~iNy~Abm}fG zpCYZW>;D%f*HgVVZswpAnw`-+@WWHyGc}n31`C^%v?%o;& z0m8+-=Ml+i@Bf-VHI=_a3i12U#fU&D`6qQ+9fqb3nmC%}$L2>(-?}?~uMdRlRWkF^ z>aaZIOlBb4v<-}GDUcX#Fy!I74?{vnD&M7Qhq71Kyi-}RdxTR-} zh|09^Oe2?ZXRVujJ>)=zdupd5*aGM9=uGOABt-q_4*SQQ`pO8HEFkOxRbDty&lP!Q zvak*vdJBVDre$@L@X(p_p{$kWeCy(Xe3{4`n?6eyoN#*lVz@ zXGl72aH8f3BMNKoD~?_t0>&dBpBbjr%mux&ZFRbu@_0d-=){GY*}2}1Ohmr(mIF3j z`O{*wEQwV&ueY_Y*d0^D-1}6WH(YkUN|)Mb#uQ1u|2bPhw0TVM$((PI7I)Db=<^3S zNTk3Aotc7C*bytqh}~ns@E*!HtB%eLO|CvE7!wu;UE@A<*dsG`H{p^Sij*t&p34?0 z$27Ba)-yjS(EA#FbH~TPkJ`WX(6?%Ax~GpdB6L&EjrGfaN_h&FWBgfQa)IKzgHTSN z-XR?Jw)&mCnL|h)m{+xpN4prI_%sCcTbFj#j*>b zELT!Q37Zr6NrgT-|2|KRe)wIaIS6TR^WE%@l>Ze`bi+rxA)rEBG#4`O?0&Xhuc_gX zIZyb}+thr%4Kn&z*JGK8QZLz-nJ|+7VQ5bM?OmHsQ3nbH$zPDjVjCbo9{I<)AG- zvJWjtu=X0QUATF-%qcotd)hu?OtVz1w>Il?*vm*Pmxg`?DdxLvVQg6_%X2n&8T3SNpPI7(fK;h*YhCyUE&G$uY z?u%&i93b*PVat{k)4ZL1+(F8lfjv2v+u-lcVmad)H$u^C|> z^@`ohi{19D3Sz@4YV|R)%scNDwZN@5zKg0Qk^Npwq2kL=fW=2$6-&bA<926C8By-r zqawBq4gO|#9nZI1`Y>BLriza;MOdWG`!!jFY8hpY5jV?>A_{9fJNuF#K$Z@NVpMYP zwk;ZRbM)ip4V){Uak}%uRk`i~PPz08=a})rC3GLKWpv)Y#75FXDF@jkaCy6KkFl0Y zkDJMNE8yRMKhkb2xjaq(e18KLHz(n@1yGz)kOrq@-LHVeP0E3b1Y5~EgD#_&d_%#q zGxf#SJ#~0@Ln@Ua!B8T9rsuPD9hRiIz?0VMsF%d8x&RB;k?4DpJ3@?X?I4@)Vbdhi zXA>>{yJEPuI z7KwftwsgfM=!RYKGPk1APq*`ghJ>`d)Ii*vQ6iK>i;S%g55>wboP`g{1u0F; z1tBD+XnugsIIdGcX5n&h76_*0g*6Us%nW%-W(G^ttDZr8>vmIo7~6Ac9&t!;ejchl ziCdMjP!(D4=f{;?N@0ImkYyIb`umXf6Bkbw&aw~4&^uu{>9lvh2~`yCBOknz;Uz=5 zy=h&a43J7&$SUIgb&cP(@q4OWAZFUKZH`S%enL&_HL*-O0bx~uOtzH8ds zNspgeP3=p5vD%0kf(LJt&;DF{A(lTGquX{IK6x|o_R*32flirlGPC^ZRS}Ke?H!6? zuEs7&w7qAPX6gU)Q5UuxR&QyA?oi=7uVnDjQlv|Yw9v`^d;=~~OCzbXLvB1>!{WG_ zac{ta&x6}$Ggryw<99RF^L7?zPEq7CGAYN&I&o+eki(Gke=E?x7WCi50Ds~C6(Tf> Qi~H9f_-}E)$n$Ic1FzPVg#Z8m literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.7.0-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..388562535ae114283c1a35db23dab16296698cc0 GIT binary patch literal 2315 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 I!yW+OKhLRT#{d8T literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.7.2-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..a6bdbb6c15ab484be9c3e75a89c8e3f280961d57 GIT binary patch literal 2427 zcmbW(X&@7f0|xMoS4K&4OQT#9BWLcL*Aa#sBbk_EG`7SdSMIrT=5EP-Bn=@NZ?4>% zE4RtfkXt#zzxV(B|KtOMG?#?2LS-~>HvTe000Q^ z@bpGP13djapnga!+8O&4>f(cT_4M=fK|`Iry`>)ecsn6+zCKt#CugjSho?VM3ia3r z&GZ)oz!3ll0|3-xW8LL`%VAzq1{+ja@;cF;A|!BBq9vb(Sk1+citH^IeY)3mM@cqJ zMs3DPL))!u978;tbs7dsJht#!4ns`xhqbvM$%7{}gd+5?qg6+V5EU4)lE5bRTi|u5 zzOhwxIQyU>?@_F0;WYl-YWgfA{xfx27EBEX9Ev2nw}b0{WyS)NwMd9Xevw;kYy>7m zNv{>tjr%>!ye#o-c>bqH*?O7k9%CbLs|ca)$N+Omk|FuMUUhnUBlB$mv$Gl)w+epZ zym1Q0(U-R30&-dhIn8TNwVYMXzK=mkF4V@U@z5+>-~KfkcXe)pHaY4Hs+n^qy;r*% zSU`{&pm3qxK4eh493dkvhsR9!iQ2!n1MuH{&M`E7yX+HtSspK2!AfR$$#Xw-J=y?S zg;$P!HK?Nh%5ARoo5L@7oinDZuKMq+rH!FjLBGSMAwx|OeTv<$_N0Dc8ZoE~mb1if z%sqwOza>kb6o|cuSnrdj1`UL)Y7e49s1Ol4QCbzs?xd#h?&eG-OR>)_UW4nt4J*Qm zF4RSYSNb#0Ir-d<<-G#2~{hi)3L*4i1-;4SSuJhjR;G5+U36X4HgP3Paus7bWd{^j}PYS!ZFF`He8EKaO^duYhcI2 zbg(FHWd4%LGhU&_PqSNFIhSNE0X^EVp2);z1E!QIFcfaRn1&&}!SPi-D;7zD` zNY!2wzMq9{?yH8bV2=8L3geFy9=FYQoHa<&FAJ!Bxqc-rC5vVgkXH6?r7is7D}Y#x z3@K%2L1bt-DZ|lsx4<}SM@biDjwI>`^xavYyy~8t{_&1)sjw;yfh>Qk1NpF0X;#=6 znR`_cFxnykF*6ua^G($r8q2=SBx+mkDq7yf^iuRh;09Llvwf~(Q|rL3F!tu4*)oR8 z`ZQbQmo@dejSU@Hpd`J)7`32TmOpeDjxew#5FY< z>YLZa!K+XX@zLY&($AY!mO37!`t3hDbG7gJ^@&hfjQecv&9j+0z|QCnhDG*Y(!e2| zoHOSRln7`Z))ZCKCfvj^d2*u`@y1E)uJOB~bR)EK1mizHTY^abmk|oXt0R9|ID+BnHM>1yecd^ah8|q{2_1#S}==qF|$93FNprJ zfw86)ia_D&Gf% z>SKe)D28=a`8IhGmJ8NWuPv+yIc}S0cMTCAo#;-%COwME?~6`h)j`FVioEbHfj!Ys zzU^=pjJVPk+33gcMITB1s+liYYB&|zTM(Ru!^nD8aYBE0Z1fF+>`TyNEN3OYW$Po| zG3ln*p%SE;BhpP9izSEK*@L#$Y<#I$Lder7+yiV_T3Taf#QB*lT`Oekqg2DxtG`2Y zxqFismY$2sT7)q5-1MJWe{v7lMb{8Ca-(7fY7w;dh<0*i0jaV&Wz`3Yd@!P2*bsTi0hDEz#ADjuPdiYID6m(DF5<=Q4J zC{0FM-H}#4il2pmb?@p*^E;3SlJpoU9rKu~#AZkqIqyWGos4$NO(^Ure46gDT&)eb zBk)}X5j+2q@E41k8HQ=82NkBQJ5Pvh>0b6xfm&<&m|a(;Gwlp{l7CU=NSyo%l`qZv zB{9==YOuFjd*;m-waTjwvwrfzi4u7bd4Iv^XJy0ViKw35Rntqk;0`f*dGJXqL`Bd) z;sG=_sqAf4m85htzy4QC#94~qS|G<(U^v73YftgR)138uE(X6a!U8{M1@)IhH%gi1 zVK>-isOsb>5CgkjnL)e{zqN%#J4Q%{XcHK$v0$}*a8Z;<9ud`z!WXx2bt<^lJ(uU- z2VLPjzf zaica8gqM&0IkYAo7=*T#?)%jYUM8KOp(Db3!2T+ym|EdI`mz2{A9Gob-GUh{61|i6EEN?k2mrP=@BR z#?ZQ>?!`7tD@-g!i>OHsn*?pX&Z?DTNSNA7FWYqaCvUHeYF68SeT|Rj+!$$!AWIjh z9W)+)@`CLQ!6zhuUHN={f-wAkN{d9_v6td@GRbs2clhR`ZA1U0y_TBM(CC17dF}Bj zJ=YC%*6zlpwZm&CDoC=Nb~a{HnDkX^IOk;36H2Y@{G^lyy0tv7liPNG1x?NL$?Eq8Jnld>@ z8`7BBT{kR=XI!jEz|5C=iBG<8D4|%7y8TNa* zjJ#EQJAe^wod#_5s!X8xCz|(5)`e=Tqr2lgTsN)1@ip(2TI=-6+TfY<;TEe^yW=(V zs@?ob#~m#PLuwB1L%)|{+lr1zw`fc2xh`?;om>- OPu>3P`5$5d0RI68B9;#T literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.7.2-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..acf97c36465c06d779c231d50510430773db6e6d GIT binary patch literal 2316 zcmbW(X&}=N0|)S*;jg(W{0%Y6F}cDR#axjqk!8sJXEwR1xgME>p^VBEa#T{|Z%Dba z4mY)wIp@qHt>&1c*}~KRdH=k5zTX$$SKs#^7e{^pa{vU016MFSG|DD)|I8r(cxMOz z#sC1s;X=YN+HoOQaoSfgF%bbV3EF{?5kVnWLn0%z1H!^|Vk5)+F!525F<1QpVghj? zc#O`K*vJU5fFR%l00aO)5{X#&FL-p-rw=bo#L9XiLR6{H^xLj-X0Qg44uoW9v<;~0 z`ED*6Z2#IJm$v?jDMgc6eQtJcNygo?QOYiw^pZKtB7NX}^G9fNx?fotSEeVXE#Eo{ z`=wZwV&j0SPnG;&C%a1wsh-Y0Kuzx#n0vuHm_6@Y`lvmYw zeY6tnUo(gTANTGTmKDo6nk}EOTVh>^#L*`vAIX%KWXb&;9K|LuA~X$(*jER^!qgp{ z9xL?{>}iU*r)X7ANv2xWqo-)Gy;V+|QTeiL;SohB2gc50Xuaj|Y@o})x2H=Sq*K9# z4F9yzmnjWMRFqj{sXABboc`eC!S+qnV6as*;aCx66aJz&YpN+N7u{YxcGEH-rhNSh zyEn$=ll-?VIn887VXkOtqK@_O^BY}(@+}e!;9`i}ZA9kh;ZG^VO z+Lw(YD%;JJMvOYO=qr|)^mzP20k3m8Q6 zkG&@sxPd(;mPZJOlJ4U9HHLiH|)U5<#k-$3^{Yk z{NxxcXI0e03uzn;Gnlb-yK61tY|B_gLjkv(?UI(NYKgXAd7p(I zUnpqajxo2Re92548cYAKV^_|sfHE)k^eQD?fAap+oNbU>z4bN~4k3Nv>(ex?m?Q_5 zFTaT|&Ce#y%97S7G4a~5IHaCF(9fXrDTt!Cx!MY+ohDbLd406jiC4RbKwGFawG z@gkX`R!sWnD2{{5reX@-vZtHvg`r`Heb0<}d}p$zl}fqQ4X@j%k55=fPaa-iye$K1 zj%jrvp+YYV45n{>_lu7eo5)8MX3-=_PYbt#FwBi97*x}cYZDxFJi+wQrWKCh%2vv}HxD%&KzxcDhdud$BE8;@V zxayZ~`J;BJDwUpijlBLk?gsk!TE&1P^Lb7&OQ|4i9)m@EF9z-A@4jsq9|**xxPMhQ z`78l{EYa(5`+m4_`^AB*Bcg-K(pU_HE3VRhf8L)hA`P=90l|@*irp+g6W5n3=P=Im zQFieb*R?pkKXPpZ(dZ~Z-`fzTHLdh}AWx+t2nh;zg^qtHLZV8Wd;5f;2waa5#D~H5FF}c zeqGCy_IhWVyBJFOi?_J1Ut-#|UL@+2d0X3l{1t+#To6>JW@=9=pFInnAM~ZzI(fG} zlfi4=Ze2r@A0ODE2$NLKtYd@zDbIYXa% z*wi9PydFEWSN`>BebQE07_zHd;%5P#T!creokqgHmI<6Nwl*{3u!& zR!~ftAeC_&GlmdALa%-z_VYV#^^2@UZw)7J1KRi}US)$Ey%4dK~mFsCJP z-^;?;kA?b0SO?L?JAjKLAIO~le~aWdO8y%H-#_#J`ozUi@Q;7~e7_s~d-Hyq2LS#9 DeB)C% literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.7.3-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..720b5e5d91f29e8ac8d301466fab9483a76a44b4 GIT binary patch literal 2433 zcmbW3S3Dbv0>(qo7_oPa6C<3eJ!;PuL5W>O1Wk=tA$EJr5ZX$`tW!>m($)xS)+&t_ z$3ZEIm_<<(6{9I`&waly_xm3HzwhCD|HG|;Ohy1k04D&AqPrwGP)*1n0N}O(0H6&3 z0HXZ^f>4Ul0a$-UEGj(2J3Lm=H#Fo<05%{rMA17aNGT#T$O{z{78;KA@(%a)4~Rl3 z1xAF1ure_NJOO}20Kfo`_f!9=jwu}-TVe>UTMIjc5&9-lOYwx#WvWfW#igu25RgM%!KOvHZ|@y*4+ujZH<;_M8kC z(#@Q{Xq%1U|2t>h7v%L7}T}0?6o0`r`$gFKhkeva zyR76f#1ATSj#-{2xZ7rvULjBlqe4mI-JsI=t^(}QL2o^9ipk@ProN#o!zF>Y#2BUO zn$@dQUgI*)V9#7Q6SluZtz8EWt>DB0Q!kWuAuu>an@kIkc z;Fad7Ou&F1$ogctnWT;4(76z~HIb3FByQbl(bL}YVhO`ZY&L2YEp44Dn4*FMFT)d>eBMw*m6L%6KO5xlD%dg|RCE zYZZGq7$^@$3zykUos1*~3IUlYrrq*#uL&ZOuD`29^Y+m{?4mUOXh<(s^ZX7ce%}26 z+ZAd$Y*ba~G`f|(fSr6?_AVV=(l|I-F^e;l4_j?FvoQ)CP{*5HtXWGXt!@KYQACaiLeRrVX)s#8o=S&8 z0+eav-hPwaJx*~n{~Qe^We671Ha^pO)4q4)OMRdBiF@X0lCTS}==Q3+WE`25= zATF>1R<+aXDaj(U+A=E8+Fqz6Vxc$tu@#fh5wTh9jF|XSz=c*_=rJqhscgq5gv5qO zvlo+$w(U?}jkThMo!q{~;U7qk_h1&P44Ff7cS-l)4D)CRr5+K` zGroozHg80w@$9U;{x&#@q>$?Hb1P*XVaAeO?DHkZJsLao)rSeF87}i#r(nOPtC57W z^B|k2g0VGM^ILh%twgaWOX2Dd6@C6u!;jgz zFD+E)Z2}tvm`v+A$+yy2{7H|Sf0UkWUk-tGf5g_n4UyVsEPTPK<<_VDkX0qrW!I(s zA=h0k^iTE;t4R!7d*Y;;{vkzRF7m-%4DY5I)#aVrGA)pt`Ye;IYpOM!-Jo(V-Png8 zojCtG-?iLXg-}y^B)n}Bb69BK32wW&!g{?6$;ZCSsZQDzxTf`IG|%feP(=;bS47UI z%-&hF)m>ZGH|2L8*8?dYSsZ0WiGC%9ElXxd?i3#L8VhraM;Da!Dz!9Vibvv^ms;x9S2xS1ki&(2c|PtcVnSEP^~ z*gmwAcz5p19q+YEuf$bnUV(?jyi>6}9Xr-Ta*N(0b1PII#Lo1wYV80YUMzX8|0YDkLRiRo9)pFaWIld2^cqgY1@>2DyQ!DO{>!*}O1~-HQP2maMI$ZvuoGK_< zV9&!L4t(>d08}4=4yvxhSxWdI+~>U^D{$Zw>loLjO%7!@u}{ Vr3h}#%<}J_;aBheA~Wm1>p#|2d6EDC literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.7.3-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..91cd561ae2171cc32caf99c8fa3625b1dcb944c9 GIT binary patch literal 2319 zcmbW(X&@7f0|xM6jyZBxs3v9Pm@;R?bm&dymOHnY*yM=maLt%9ma=)7ToH}Ah8&HI z9BJvzEk_}f`y7@1d;j16U;fYY;raA@|JhjZ0pS2%z#+hG|DTTXG_Z%U5CG7j3ji1Z z0D!1KWUxOp3K_ez*5?0A>QEu0z_0=miNgb^^7Q z;~iAWV&N{L1)bT+$_2$`j$*%8IIs07^Kw}d3Sf@PM#hB3Th322@H~KBHp?-#d}f97 zO8ndqOEb0)H9_Z`**|#|);r4G#zJm^F5QVcMylG>t|#NiY7z;KO@%|)i{4?BwV;iz zFq==u*?4*N2NPKY(VPglx|_iBU5moowlO7fLfSUi(z=_FyAt5v-I;GrPKf%&%j{UO zzj!`_iHLxV#c|(^pnd(WRn_;mXOP3XizJvN}TuTf~f;RaKwAbYc= z%+X*jb5wvT5na{#Z7Rxz1D>WO?^~Wd6KU~qXI*RZY_jQ0-lXSCpL2ouzoIdvLaY~2 z(nVwqLD>s-EB@JcMW=;21w*+NXN0GJ+;Ptnab{0zgNN78`)j;X$l`~LHCmq790s{f z;`Y#62%w~3n=CGEjr7hZe}~|5UHCA{Mh%jTl&^CvY&36pv}p-kU*QUhRu=aa3Q)g% zcjmD9^RX3|rSq4PqCPV#)$RHl26SA+&oBd@&sYOT;wB;)E&u3qAL~W76NS69ssb|~ ziG=VKsS5W${Mk~f*iE@i8NJEP$$hX!g zW|9jvu(J=-R(kKp!qaxQWPQavPZJi**DDVg+`N$v%d_~)(F53bNv!86fyO1TZHzzX zOI=FKXRjq*V5^i0aOK2Xx8EpBv|hIPey$c~6A}0Q zBEQ%BilZuC*`4-ioR~m!=OtXcb+qY)x8Hv;SWZjf6yBpw3Z6aI3_C)e_cN1GXKHrj z>b>@a*mBnrd1);W|K_eMSF#I#q+QReW7EFcQ_-k-c(|%+p1u?{Uj$yK)=7R9#abbF zDUi-6gP|+?QFD*g6jZmgplS~cF{aG%A_lQ4(l*e3y}f)#;ro~zyt*c#8%9T#P!jI> zD>ouz`()L6G*>gI!DUp8ZCQKJ^)sbIPFL@VhXaN0_pa{_ycu49M~w2F1U1NQfnvZN zyZ6^# zd-6G40GH5@Jy^vJD#_kxAh~Uq-%w!2G|eX&O;w*zidNN)U8Ai1I*TxhNn_e z`y^Co#IVWvqtVrvklgz6jQ33U`BB`8Tu9b}i3dPfEZW@%7LXZ<=6S|+w zk-c6#uMyZy6ejyTGr_1s%q*=!Jw4JRk7vib8P17$yON7sKcs~YRw|3DNT5tVD(W^3 zrW$I_F8C0S9GJ$sOu#Q*Ke$0{jGv}5a@=&z`{|8nNKkvS7IsRvGEavh+IS6h5felN z!xG0D?s_Vj0qrk1x{0@3l3F&`PO&~(Vv@!x`gNhE#5?xZ5O#y~sR}egaX7d<6HUH* z2)0DiyfG5HfGkEzEgBlE{oXIwGeQwjieG=GsqZYFH|#8(#aE9VVAs z^1SesjZ=RJwD-x^k;psjRd%E@mQKBfNgax-+dz`ni;~Q0(f7e;K8n3q-6nl$>Jfo*$ZDj%SK40@=_Axf zGEwOa{QN4Ar~VYEr-g5j{c1&~-su{AV<=_Xr61*W(hKtV`8YEuyHa}<4SN6|Br^Rr zuDpG0ojCSJ&)a6g!~0wJ+>9$t0}jt*W8bW{5f%?!sVL6{Q=e{zUeIl!2c5bnV$NJJ z2vaYE*n(x6;nxP6v924mA_x={rg7%o!6shu)^y~0^)WR{(TOq z^y3oEqf-r@5q?qk-IM-N=8DOrG%8v)xP}iwADEJfb4hz-{p$F`6r!NcQ^$sIewt^V zgVwQ%di+bu!|jU!Y==6OE{7$5a;qj)ECrIpKi$ekhIpu+y=@s==U4mBZi#etu#)9i zW#h%>dcfLgy1a1tGRi&Ph+7gw9I~M6t2p7x?$j^QX7| LY~~;K00931MS)-A literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.7.4-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..5c2d6d86e7d535b9ddcec98877363903256c6794 GIT binary patch literal 2429 zcmbW3S3KJb1BU-%M<_K~DOxLWN@~Px5R{rV>Znn(1Tlh8p+?nAX`|FWJ$6g&phm3L zrbw+=sp3+ zZus7aMBQoo#z(!pRj+w_`LeYwna>~~x$)clX7b3%U(U*i!|pa6)%>_eF)Pn_;HOs$ z9_txdRzBe!F%Uc=VhiUIe_GC+rzdqS&MAm2J^>CTlRZ9&ygSGsG9+ttxWI~uQ1NcH z3w>Z>d;&;kSIn>@u;wy;3e1fn>LwMX!z+1^N3EM$^hCBxkq$x!jC=3?MpD&L(+U@9Li*^RrpRH)VqIkf=q5pZJo=R?_}j-K3=&LeqJ9}wQatLpQq-T( z7IuvA%8g13R-}JIV0o>?A-yxCFTqH?vG3SDFT0d^;rWz0hZi z`=dDeEo51frU+Y)mLjal!tOuLgBIvZJWD52I%ZAxW(7(o;Z}D5YqMp=qud3oB)HK= z%Tgrigw|O||IxFv*p40!_MdD@WUV9yqL~i$7hNrJ&f?*gt)4JiYz#E4T`Bv{A5J#xP4LW4__k@y!2ogs|Z^z+l0;XMD-3 zlMt>uYHivQY?aesKFpA3>dUF3xjvIssb5Xo>^|FrA@&5bV{#^+;cx zl}L=#g~2X2lLSYYx^IlntoxLiS-xPtnr)Uw*tgqjj5;s}eoUQpK zoMiM|!YYPZHvO~|a@U8SY};!$d`Nh#GiV))*|eN-CWo4#RY(`6j&p7Ll%6wD(T)V& z3Df8og`B;oWx815m+#EidAi&f9pK_d23szYh0W9Lg)Iby45^YKkDRV4Il<}JlfSdX z@V*y%cOlE9*a9!&!zMgMDrI*iWMzn))&?2(m!+%A ztC!8E4EXC$>W!6|D2o*efJz`Trq>(c`ZHZKDfqP)I&U*9C})h7!r$=I$$C>7zyov z+2yAD2{qceF(^s2a}O!4VxGUF%McIkU}@cVP*3Hzn{96V=s}J($ysGlwU8g-_1m_9 zIdeYba4db2@(~4*-G9))9+=EkvNXxo@uJY|9;<733-NjAVfhw`shhz_BER6T#t$#O zl%UCsOPTBC`0RIZPGkRCC-w~S2*>0~)dCT(3X8dtm}u-r2ZKLzoD8;gs!3E(kRmU4 zC))&-imUOYJNYmUkh0&ldWWutmK13D(FRpAdv}tt>3Z3#e&!rJ3=TuDWV$v;b?A6^ zqU)QEPw<;UHZrZGcCyqKiiylIqHAz7#e~cqtq4k&X`mOiQ-g=B(OI~|I=l5xt zG0W=|llOQFzeurAoxSJPFFJ^f5wTkqoOy*^$hOC`*kH9+t-#r+Bo0=@J7*q!>t zx(r+r?6D$8-AffIcO`q9c(k}IDEco^ut&wCisoVN&$WCk;_B1#IGlui+p^eH6$Fx>@NYEc*{= zrA_S6)NTx}KZoJzgfJr^BJ$MsIK?>FWltL701taeIj;B-5s|Q&67u>tE44lwV{+~4 zMKzzF^pxEVdArxcaH|r*YP;R-&*krhnHlXToQrJrId;AppHJP7cW@fG>)ZkMe?7HL zCUavh7Upmru^7)SIOh*sSS!{a_P0I2-EUsWi|)pdYe`UnH`Aac*V(#jJ**HTIp*5I zXnLcxO)8!>9TL0ue`GeXp^rlpGMm4^Dd@q}(+#>^j2 zBvguH3!EOncFyZ)&e|Db#4Et2wRGKCxO}OKcNrVczI6dNAw7mUr=F2B`lRco!>}7K zN7`)sH8+R&CQsA+jgqM=G>rW<)Xn4p0qNyDELre1Xn(z8t?KNWE8#m=08;CY=$*D; zE#Hwp>f}m_7u?yp%-q5$Po?)YKoWM8c9hT*-S6I{;=*ygpz*aKM{_r8cYSF)ZF@4PiPW&oiX|F;7DYeD}_6vHq4zd~eg%*^uZ N&+u>Ef06yy`Ugvhd?)|_ literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.7.4-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..ce1242e18dd3e93a5cde9b00c9736a154adfe944 GIT binary patch literal 2318 zcmbW(XCM@e0|xNBGqWlqcXU?Sd*P4Ip;XxY}vwD(GXHuarVwG zBkT2MkIET`fA9bM|I7b*K0KeE?>`GuI(l6I2*3gGMxNZa(_>=RVg>*xssMmG000O^ zdHNt_gFORLvVlmf9|HSS))npN<{9XT_LD{U_{asIeVmX_FlcO`69Vgs@(e=Cc?F>T zF3>Xo8~}hw06?2a^iZZL`xlK4z1L*V>-6&!Z51FSTJh1dAdJ zOsrqwxQ2`%M?}x!nP=zLGiMp`l*Jh(fkhnPP&CP-O`x8dNdzY8wIamGM80bsu#4R+ z#F$u+{!bC()_}KQ>=er-P2%nNk~~5US|~Diw^F5n&VBy8px})vr4IC3`=2@z`>{aV zGdjyHku6crj7*h?4L`6M+IfY%?pnb@Wu&L;))~{5epL!#sMa*nmQa3`KH4#ynmO$f z|8ZxJ-`#p6XE=T;!2^%rnCO$j`kUJgUutN`k6G?N#}jFv08Dq+RU*Vo(%(at6f=y{ zP(7C{s0L92hfH8(^9L=HsjP@|JRQxI3mod;tIR%EvH13O)WRYuVRWb0PmMVsuDJ(& z+v4$#s9_PCA+WBuL{0NcEcsMDwIKhB<%O;hhypLn#1mEB@Y0#~e8i`RVyf^KR%b+*-H5##Jh`Hn+s6gLdHpj%o!`+Ozlm&1X>% zk7tXF3VEjxo&Mt8-Dy)T%xuWJ<2hVvEG<>hMmt<|s`glC4r`lvAnn4mPU$-RnEUb& zE^HsIYqKA+$E^y@9EhKfez3MI0&g2H#k;j5+ZKM48BMwthZHM=W@UN`z zh4H@b`7C&`ZMpNH{jAcaIK>#u;AY|4D~U9J|9Y#Gj;uvli?!Q=$wc2+Y!M5c9wS#E zxMRX|A1lly_NK0m`-Q?)o`JA5j<0D|n27fi*7VBh8TUHN+Plz3O96`fLM1EAC>3yt z@SKDhj(C_L4ULiH|B|e0qWLlIuLR@iX~E@!hs*MqjOO5E441>6hz{T6=SR0}hRfGt zl$q)iqi)6p3oQwUo4L=_=+(bDj0DY@sBalGI`#LuaX)Uq+I3Uxt3uVc8y(pg{RieV z``W%*swKdpnwi8p4`uy*`TthWFhq{3So=k`HLqs zZ|*6*^Kr=m^t>k6N~+Czbv%C|_AjJs<8VI`$hgN!bTi*>@$g)3EGW4~tXf0|X+|iM zyiTMXzwb9pS{T&P)Ft$}&U*e~5Jcj+u09#>P2ep?vf2LPW#%we;=DJ? zCt@fFbN<9!{|w&mf@M+k7s#C1D2Cm)^-l+z!x-Bhg^ZnUdkuJBH?DwP&yNME^$cP? z;s)Z(FfZkt8IE@#W3}`z(#zecX#vc0r~=>UeEC5J@W@hb=Y)ToknyTyRtZhNIBN4+ z-K{&Hl(rjOqd14ez7VdcB3wFBM05#BDS_#br;1kWH1wtkdyZw)UWCs4AgS8acPd4M zN-}WJeD2)Y$UD3V4b|>>nmGl>k$I{x@?GXopRUl#)diAX93}YIsIy|$h=kW(ZL2Vv z35C}Q{Bhl1lEfuZDQjn%z%5$MR5=MXkia;JgPnLz=`f%nynF-a6|O#7OEao%n@5mK zql_>yetd;b%hpq^{|8kfuq!k2%WHVzdZzoz7CP^$!+^d9vN*jU(Qr)9+I=m1taOQ0 zM}KofP!z3#P@8xt6*JUH!y_u%hC|ATb9G; z9~6aG16F?4<7G*7upN%G{`-r=I5}&}g|pMIT7&c^R&45=jz{^1osP`zji0R~=K{Ev z(r%z4_sy!EVjHP9=`0^>4dx3|fF6U*hg229yL~2gd{265-py3YZmZ23o1l)%?mOL! zM>1vgPwt+q{7Pp#;m!_D;wR530mAt&8WG64a-`>-_OJn56MQ#*DgSOk*WSl8< zn$U#JUO96tdt@}Nzp!Mty8V>T^>S literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.7.5-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..6a05aff54a54c6f8c22dd7c2ef7f2551f9bdb205 GIT binary patch literal 2431 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 RaQ^#e`P~P<$p-v){Rfy3knsQj literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.7.5-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..23d04f6c1ac28a1d064c4d82a1d5dea98241daab GIT binary patch literal 2318 zcmbW(X&}>$0|)RQMug=WldL>B6UiMzu82oQxvxf!A4ET96ZC{@n%!G3SK&u)6XaWEb z?t}98R0v0f_$Y*U1_vO6?=zU6~4Qin?Gu+L)DG%}B82 zx=J-m=-X&m5$c1kSL*!rCH69xZ>lTowKW)MzI=d{&{oqIQ)x zw64d#T>jAAqCdMMPIk6vcRe0N*Y&x26b4pz7>&4%$qH*jBC3u zYCx7>oYnr#NPxsgeqF;V8|z(c8o#rXrSunBu2eWcm@68_$^}i@{+`FP6 zmO6wU3Kmw-Ye&a2-Sfi^n+a6?*~pAz-i_5$#W50JJq=3+zuY?`_gMVv`q0viv9 zQK!P)TPD7RDt&CO6|g$403wYG+l@XU;}wJb9hF zu0kSlt3B*!QtTkcIp0Yc^B8?e>r!e~Q+#Zdf!4aC?~)u8s&J6?@;k81T2%P?^DD?a zj@Ws;d8eycMkuSph(~hQ#}NzX{@X{VLa?ho=I611xdK-=XI%UGfuP&BByO(dP*u^L z;I*gL6J{Sj%=g;V&ZQVjqbGe#?$@hm4%wKien2mbm-Wdcb{P#bV{gdpo9`MdC|@+e zSjKEFYCz4834jGQlUw6lk5aY1SAT)jjBHW4TCCa%c!YvByvEu_8zD~(c_!)!Rzx}i zk<;#BRc+T_h)B*olov}ff-z6#by#PcH9{qm&lSMI>X3~@Cp2k1E8B63z|UMX+DS-bDW-r-@#l zs2=T6ZHu{vrbI}A$TDR)b4})lM5u!A*crUBi8vg=D`zCXeONvjJc#kA`y?jjMv$s1 zX~A8i(SG;w7ks%(`5x!3k`qp!G0!nPk8I=hpAXEEboc#SbvIvv&s@aHK?jm>rk+7R zUe&pEE9JTGt9)gI3pedy1*7?0aY0wpWea+lg+Uc1s?bc;(&TinQ(=tSlB$avl8xD@ z!WariVL5nq@>|pAT1@yg2?u;@8Y`6#5}Q<_h)gPTP1J#ZpZhUBimFmAa#!}32Y z%R5MypI0yJe{PS*>23no?TXijWHbOuV2ud2zCqwqhz)FUaL)Hl;uGazri7D!_$RH| z#&y;4?YM&S!(SgGBEC%XU$xPHw>{8b{;bn(i#!R&T#LZO=a!r&rEtbxYAL#^6iyVg zs7Zu7PTL{aNH_D@W*0?akGMS6S7f#BQfpW4gjHG8wBAI4SR4>y2r6{K{`TMxo~c}o zAN}xpb}yV}3PKtd7(1O}7DdDTHqZs*ABLy8!&ER3RkBrKsp~|#bb>k+Nb2-@zsZP{j1%7y=YXz0 zpxCo6ub%i`K{brEJo1N{mR4jvYuji> zVLBpHC%in;96?s@fNkFM!0Z Jf7Am2{{Y_9U%&tW literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.7.6-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..2b0fd1c5274d223b38deb6d653e26ed566540643 GIT binary patch literal 2428 zcmbW3Sv(Ys0>#J9*w;Z!lRXScd@9R_?9^mzDU5wE3$l+eSt84%;zM>qBQ*APm=MV* zThWB?4FZZ0^@0{~;-v2NQCT2YVBY+3s=Xqq;;c}fwWCs8obpQY@000n* z^g($-Lw$mf&>+u1jB8*x)E$fQ@Cow4VxX=ll*)Z9%EdFx9~&6t;u`3V^a=4)@x715 za4@p~oB)6r06-@((OdmkJ)mf0sPQ^?ZZF11wi6tmYAvoSU&Gm^DcBxh#8^~+kY>kW z)@7ddajRoh=%eUny{_?ssQn$1kZAy+X?1#oFm&_-p$XmZ=`heLjE{(2O5vA3K3^1V zWDc*w3l5oz9VGe`(;lC}X{Q;<-LtgI;8{FiUzXra0XOVrCNdEI?sWCvlKsL;e|RVX z1)6Etu6{ANO=a_+e~mI$CBx4qMF0?F60p7VjY`d4r6^%zR=k4wRzm4tJOtz1nHSQz zyf3dFP(nACBAC}Ss38hR=SQc``q;rQF%649*tM*hdA?f5zINh-#@*fe!IyZ&VO_R( zysZvILPfa&CJp?bw`sjS=i+e@GboPgT;1pQ>WgY)#Ojn~DI^EeUTnlHRW;q&3F zEIHpxE;<4ba`wfFADc$~`|fDiYrWEHa7z0c`0Z zCvPXXtulio|CZKv+E$>wmflmt0NGavl(7i#%{KhW=LQ_P7Ao};RAUj1ec zc>1?P{@2&{*HrU{UtUO+3a5RF9{1gU%f2@7IX!=#Q?pC}BBD8xOJ`qo5fx4}8i^to zcWeJthJ~99#S54onftovDWz4i!0_x_JF|wPzdaaA2*&}d2GR*j^cHcZYr-G4JVD^k zt2N69pE!~~sFw}6)&Un3wsES?>pDRiY>-`xK3rYWjI5V+8Lw4g#{j35r$a&=&u%ct z4EH>IT|;v0AI4rH7Xp6z`}AdxiGG2SoTGSp%QnZ)cmB=PnT?w>FUHRbvuf4tACP#D z@TH(pga;iN(Ni-FTC1FWAix_m$aa8jH=c(I6#_gIk` ztY`U5y7YeKSOjQE4^PRvaMX2fD8b09VxOufqe@I02fDzt!{%+ChXB(9YMfGwhe1kI zwDo|^V<0_l{}V4vH#7WaVKMgo#CN?)aN2%E!8J7ytxMbeuwK0_?Mz#IOepP%p6I#M z8kdZ%nqLiOZ=$ot+_+y0*oM?*zdv+6-XjDrrYqkY27 z;uj43c1e-_n%SeGly?okVk5U~=6r7n`r19_!e%=Ox{>jSO#gnRA?Zl@t{U20NJ2?7 zO&#l(qCO^itCp9p5?a5^jA%4#xtCQ_n0%cScltr?ke~I%JjHXjJmjgMeDhT4DR)Lb ziMU)0YG5OOFfef5U6{z?f_THsxEsGgnBXAD?i5CrJrFIQBGP+jC*xZIw`nttUFXWU zcN8XK`q7)}?1${+H_WIq*~X{R#P(?Y&wKhtf3f*ds3s$@s!&9SbL0 z6Gf6k!P;?LEJ9iYzRtPyud^1xy{2!{1#Cx?7xeoS?W`8QDuc*;1!7v>GP0yQC7yhB zr9BjlXw@Ly0!rSt^Bh`*ZfVrEmm8nrRfqn8Zdc=9=#~p^$d4ahw-VZ5_4|xqb>3;a zA>i``AQL)*xW+@A;w+<%Hy%lhf z(PKYmf~Ta*{Kh!mmA7?LPDyIS$#>zIX-qf)yV|R6Kd7%e5Na#*oXLIj`%wbEnh=NK^3(wB%x6+=4{q%&3lPc1x~0Uv zyde{!fCK)gsmj{Q9bA~6?M1N`*DYHk_hYjgY{KP@<%l#Y`+7CWV_J+xbBJmEr!Go^ zA&Xr}#Gbc~6ju%uUarleY1>%MvN-@Dd*Q;tQc-X(585PO0HO^0NnE2>L0kCXWqZ{Z zKICAAqr9nFu{be$#VHXKkXzvYTf|KfQ-0)p!PB9L+w3znRi09Wjw_ga3WY)kO2mpo z%iEm6dv`q$3-n1iddMv2s^+yGzqu1P_ZFB11EU_(|0bY+A?Uw~Vfa)3FAu>iSXlr3 N8UD4`pTY4b{sTUDh-?4= literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.7.6-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..9066a1750ab541374c813b8f925eca01a5ecaa37 GIT binary patch literal 2318 zcmbW(X&@7f0|xM6*4&B0$mB|kxpLpfND?NuHgk-Lu{q+E%suxJMY%`xh9OFhiV<>O zX+*gSxe~J1;@|uK{{QlSo)6Eb=ljpbk_~78U4E_Oni>G02><}@ z_~QJ%74G0dd=)~xiFgb#Lcuc-?}ZD&1>zMj{{HabK!3D%cu*iQ1dSnj`r^X8;eNq^ zcn%;t;1&Qt0s!>LWFJ+gDxqwA_=OHnVGkZB^F}-&9SPCDNabo%7icFSSj(Ci84es4 zZ?9#H>~yRPjtFlx>6noRJs`7W8ot28%7_NZY)CWewS!eWhbJefI&|=w33p!YX z&P-0ZenT)p6(}xB0yV^uRuqNd0z00PPkD|N@0rP$C!fHpmBza1wM*n^=+kJ$R9X0F z$+gBZ1my5oC!4tPR`Hg`Pcek3Rs`WNVs&VOqH1}t_->b#`v>!L;m;{I-;WCn(-*qc z2Sp5URlv`B_T)`zoe1N4rxSnr>{&U{0~6DsWgWG|V6JUnN@Fcfi}+K&l;zNgAs-NAlt(cAgKX1#g<$Ar8URvQMYyfK$1 z&g#Yv#h^@)YUmQ$6W*kGje zuk|3UW0;{=xuJEQ2udO0vurzCSB|qS*@(h3o;CQ?FkQf8-&1mdU*qmT`sfA|)w6dH zV$xky1ns~0Fy8!$7c=o*bKyV*Y?lnPDkoeo(1wq0;CXChRn!Q1k(hm=$d!^E&~ziC z(s!a^eEpg0m>RB3GcQ1#k`(x*ZAxQH#MQ_yBsk)OaV-jy(L83aYx^y(d4r{8S5tU; z2AcJIP|fsAx~FTZ^U@jVrpK0KJigNfXqcjQcfjfp5dol9ZG{N^hBJ5)qpS7(A_1iaaABl7nNM{Qkt^%_dRu!85*`EQ&Mi!;O5@0%rl%kTry{58z z@W7gzbK0*bheZ^-mL)B;jNt{?9i`80ea228Exs;1xu5O;_x=8 zU{mK$g;%V!$X@W==%cgCJIKv$?F>FqxAXEJnCoX6+X%^@y2D!C+a75M+G8RYFX31PM?rLt6NAx9^rvSoAUL!wHYW(RN-^YR0 zA-1zY0i`V!AB?T=xaA1-3OwdKzwh42A`ON5KIN*Pz4m@eI3K4irEwEjlqjh;_h~1j zBx|j6GaV*lbJ_lc2l=6W(B!r+I&5ub8{q%E^<({MaSKYB`4f+^S(?rS`u)N|JH1i4 zZ!_Nc9u#;9Brm4awzBf1QK`w`VZ}M1<9VW4YETjK#50OQ$4Q`+hbDkE(2~>^)M2X- zY}@ImsqL*}h(Zh1BK$Yxl0G*;oHMoHg^fT?pJa4#&eZz0^T-7==SepmWXl|c|8#-A zzXe^>rZSLchSx7S`|wI{7L7WlYbRe$HKTvUK=Obc1go zwC4`Rsv-KHD9Iu2Jm1ripV4M!)a|;S_|L*DZ1-&|n0IpNI%QLfql~-co3K1&$_>XT z-a>=6^ysc^0u(52ZBED$Onb(6&SI#dww4jX& zVzoA1^Q>E$pS3%yVzHqsBQ+V!9zz95c(4TR*h`?bJf$E!luf54Bb@DJ#&~=zg1fg*@eVP`Ho%kZ zN(o}|a`=r)pi>E16#JZBMj^JA2~$_rAuu=y^DBNGON?miFy(DK19aIjo6nBw5*7xM zN-!eSSwB4_53AT?(b8J;oZwF9fA_iM1H1kcl^k8 zLd7js54KxfJ-2^R)caz5Hj35x%CS8V=kic* literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.8.0-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..4cb3e418df06ef95292541f1ec908755f38cfde4 GIT binary patch literal 2680 zcmbW(X&}=N0|)S*+~oE!{wO($9Oalh%N16VdzNF4X3XS1a}|j)SI&eacgXN}A0gUe zCUV7+wZGYrw~Uwz+ytf9;-hQJws7x42wbm;ct2EXA1fGHyY&;|e? z+y{mBRt`sn_$Y^X2VoFFk;|ul7dt}QV%R6jkW6Wycoiu+fR4k zwCJ-;AK&bz36F!;ao5aNK#s5`Ve>$28*Pz+9Xnig2P^Llb{lDzCPh8`@l@dA(YdlX zQ%l?W1fel=vHcX(tNGMZ+xe5{Y45+yt4V!J0QTgt$bPAo-P{x=EM#0Z;=S%#K6igZ zYl)S@(zMzaBeB(aL=5`l0l16L#NlO~wf#zF%JvH8b^Kg!v?=$T@nFIbhw}ZG?R9-y zN>w(IncbHjZ+0{JE_-F`P>NU9R|T3&aW8Ku|ykKe*?9gGR^VBSB0))uwgkG0p+-C zIsZnN(EZ+(Jd-{x`EX`DkauT9zQgL?iRkrN`-QpTk%vcro5!p~)?EI+JpTKQ?;V!= z2j2bvXvYeF|Ftm!I*9tK<|BLAH-uk(|H0eE8D&!sL=eL@F{csaTH-ClUir{&{B}NX zf6m=!`(LRg27UcWWu%2`Pl?|TuPkpxc&Y|}ipnNEUMsQjQQ|^{hfCeE=QgiT@*hU_ zQ6wZ)ljczC)jNzyBT(wewG_6UI&u_8p@)3cu9}F=cM~2bw*3 zxv#HhULcbg=d2bz;sBEbTKGBjfyr1Dmpc{Mqw$G~Fm5B;(8lgDeEAvg2l zahY{o!?Y5sw!OB*nkm9rGv`;BtQWK;N#b2;koDQ|?Ry6wg&sSTRwrfLufE?%6j$sC zXI$L7uxPkk4e=aJ&s(n()xhpubuT7v*6>kv^<-}JgcJ6Me1ao_gZmm@)RMO;#PZ*9 zjdh_7U4=a=x+S6IpZVppWosVB>59n+_>C`$&ZZWIi;5Z)+fOb1Mq2P2l(1|h=R>VV zI6k?dL}Hng1PHqs)%bPc*}oTSWj#M7=;6M!^Z%eXiR2p12>*rHF6W4nQI^b9SM_rA zcv!q3X57}Cmz~$Fql~d)g6KFM@(ai+6?I%(-hu~Pez+=pjtW{E5*Hk3bJ%|UOfdn& zFYAuuz!haRt_{+1a@+G_F^T$UI%b5gSglK|37g1Wp$_IbTn`T(Tuxr4Aa96|c<>bE z@)}9L4!c?8m11VDoBcBC!p$mPB_kfH%)6!o`cuhmx2HR8&)v#<9yyM<*}eIx@)`6K z@7dK_z4HM9s(bYsh1<^RUNr!TA9%s-#h&z@&z*NcYNOH!mp*+_Af ziy^>;8)R1<{G(sn10A@@(@a6tX*;mh{=|ye$#aF4t2A_+cj%!9$!4H7W(~3HIO>?& zdSF!rDqsEa#@hdFz}>o*@Uw$*Wf~66MhcU`HVZSqG$#oO$Zy966s$4)H$3~F7( zYI(+O?RW%_O{UXbdfpyv?dA%?VwPBcOi4CL7|Pw!zDY;yebS)VH}zC(N?VxFQGN-9 zL*yy@1`Tu8N)wb?V?moxeZ*(C;~qPKc#o0|PeuG0g#fRTs9pVEl%+cH2W4bPEo)`= z`46P35-(%F^#bS%m5O9L_{oFa=LZ=Q0lXZ7Ryfb|Y`Smu;Ii1_LZQ#M`5rJhRR=z| zpS)GLk#3p7?^w{n#le_WugTCqAuiq$E>8LB#PW_b`;|FD%ewlw`Iy&c7Zbw#-7A%1 zD-b8??n+92BRSFk`FzZNd!vh2t~IvikITuKmnl|u_i}yTjOoFp=s08 zvJgiNl7r0vNq}X+uYjmX``_D2T#dTt<5vrW;|MAz#SZM9_Y5gHk*_OASyKl zCRnbrWm{B9Xm#^%awgLy@B|yD;mfSjbh)k$o*qH}Nkz1*$pc*xUfhXBdBvEUyY^4B z>02Cmq5aIiUyln|8H(0-GLsoRfEj@+u#M}|HlEEBbJ-)KpSgJ&Y4u1XHdgwX7U(NT z%JmX>5J<3_yt$&d;xcyR(COQ#85gqg)-iBq8uEEMIk)8QUe>$2U;NSU2GU{r7ji9_ zO*U+csrcL;YPMcrX$rx4hRVd;al}fK5rJHfPUa_1CHQa4&}Z{f zTj~SPWImv5FgeqsNyB^7OK*q1InCAFs-0)Is}9w!u`C)R`rq>{ZSm2214`ww5Q`!S zeet+&#-A|A#w8AQc{O>ME&hayrPG$|He*8yQW=Cc&k4e9ugg7K#-UrUC))&}2ssdX zv|}yR#}lcO2wtkBS2=aOAT0I|C>Z9Mykj%o!}D35z4$Qz1~%o0V-ZXm6|`osp%aP} zDPZ~p^(6qAeq~n3T`5Olx@g`}=Le&T#cTDAk|I?u7Z`Tza7PJ=%G?nC z5xn9v5gPL>KtBvsf@&28J#WnN{g)eY*WwMk{idkw^>R&`+)gOzceG<;R zU#dFVX@Fp0re9)6dZ&~ZYNysvrZa}j|66~50Qld;GyP}&Ukh48S=s*cXZq87fA;8) HF9G1+igpp9 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.8.1-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..6f15504c83726cd8a3a192ded4d97a03c01e7f39 GIT binary patch literal 2685 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 H{;dB1(TW3_ literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.8.10-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..25e5fa0750696ed55d460be0c8fcbd3e4465b51f GIT binary patch literal 2738 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 PKg~bA_YbvM{$2k8DK#bI literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.8.15-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..53f1e30dd17abc49e8cb4b2c6b2f0a9d3a8d3ba0 GIT binary patch literal 2739 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.8.3-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..8722944dec61fef2fd8b241bb96e18d3905517d0 GIT binary patch literal 2713 zcmbW3c{~%01IA}&8AFKI5z5OZxv~y97bYUim^p`s7%vKNRq3 z{XsewV$^XfeQ1-mc4kO~Rj+OEMa0^MddAR?+_?7XD|zr})#<9@{(G9PT5)`6>{2Q} z{8;K~6zUeHCPr}3Q1l>?R5FwN3o~<)oAU1SjH=}47{I|Q3Q1V$nMTeYR8@~gNKK1U#8eHJc9YA znk9?uG~J{Zk&bKO>gPJUD*!1#%Q2H0O09s^&AGX$*=&%;z}&Q*7)wf5M;pAo=)*{(lhCuT8>Fbv4l~e4U+$49Pp%BX=6mk@ zGnxXG8SY-kwp`GuiTBt3WW%QB58&+5S4nDHh^@Tbq*!IWII3}^1oVLWC=To~^W_q{ z$>$F-9{PA>eP!?mZT8)(t+ z*L$6Z2kX-1XNsQqZ~PizH`d}VcP$3wPF)Nb&J~psL`4`{LxKlX6PM!(>!k5Z!4#X@ zEnvm=d@E5nOyw4C`z6Z&>VSn2oue^~Ttf?gxIIKVQ=LiY?z>guFD+Dk18a$GE;NKA zgB3!uJ2(S2J4?kyGIV?gPs;szz|a*)g6V)$Q6~5Ng7Vw(MNJ#Eek3mm&Y$?G%-)Gg z!OUf87&MXiyHL>&3}BsYLs_A!%8HCvG~mzXE$uQB;qN=JfGeo7YB!=w?ij2IZ8O`e zAbaoa1+RMX6U-^K7ihjZ?C9L{=!xt3pvS9;VP)RXdq4EUFs+|HtG()N5vf=M6e;lz z{!Qg02L23wE0OWybpygXmaMsTslG#6M!?rnKueM*_d*5w>(`mwOO8q=C7!Li2lGHHGiI;s(K4 z#Q|wZL~3s!D8ZBhdAh`!`!!OfE_(fMkqR~GK2$e*Zn1OP0(rP_oUu{fxq_Y5B9tTc zrY-VU{LIp7h_QO>lk*H7M5fQjI|V*yk1Inzs;VHWGOBK^=S9Tj2e32ssOKUIla_BJ zZ*a6~)UEO&7ZNj_8Y1EPg-xdNX1Z5~(0b~@?x`F7R=8e&FJVkIhc<1a>Dp%zh$3|v zOr;xcQfR*)ZJ6>V<*N9UN@{kW?@1T=tt(cu*ZIUN%Rfg-kgN&)C_VT{t>aX-XPT25_ zlJIwE?#YoePoHUe^|gt{t2hgmUOPBTF2xA@&?kh&_{}yN5yvTA%{Jz_)fIIG%T^)q zsH{;Ggl;mfWK_xr`DRV{sy}vW3P&zN>qD2g8(C%#0t9ZDSfAc%RcEWcW|mk5PY1`n zmP|&DEe8eXxD9-@&a3=vj|H&`($?=l)vvR_zf6||ZFgM+4>c?vHm}PX?p~lR^%ZS4 zUiW$6oV_w}L9~vG<>Eg@42e|Y!}|L?p0JzRIxZdvG8;&J-_b~P<*E!=TdmXsR;~II zlSucv0=*NZEp7IOX&4_d9mljYJMQ48KhXAwcd%DG-96O1w}DP_Y|*ZAdzJO2x{K&dL*yv4OLBU&=L8;@{*j!zY%~R=kc&p6ge7y3UR6 zSi5`V<|P196R5Kc!K}jsmwjTfcc<`KJ;@{teu9b2$9yP(P{vE^Des;I0c^?b-$A|0 z$~W(Baiork&xrD0MTzFW+57bbSNO>cGOTG$Mcdyf4Zk}^4QGvP&={VH)+cG&myJW? zvFE+Dn;%Ia_`WIIXeiBISS{gU z@Xbh$pxtlrp?Phkmvtb%`aCYz(Xgq@Xlq2SkZu>=_95IsOk+0^d(YRz+#HjMu>`qY zCS8PYA7yhEOgB;+HBMF9G=qX{Cm$vsiVY9EuBNMxwcpm%V&tW!W9_BLv_0fvSw#~+Yx&J)W`|Hc$1FJjkt!(Dw+3w?%mp(~O&yWgN980KN z5?_=BPX=9%{2VobkJ?9JlJ zdR)#}RCd94Y8Xp@*_HvnatXuP))a2g&P|k1UbExZy)xTQQXmARmg0RY-otVB0@dbV zc}zTEL5i{fT`P-yro3?*T4ljwPH4B?TJ1q4L0HruOf610)0C)1w$Zuau$XZkITy?s zGM{?PIPYr#y7=Ur>?L^ty3k0SspxnzTL~4<`iVW4rXZ6oQ_dlj3e_q<2e{oDQnU%&_+ literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.8.4-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..45879a618706cfa0290f4f3eb224dcba5694777d GIT binary patch literal 2728 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 A3jhEB literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.8.5-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..31174ce2c98b394fde1f16d2e6665d0ec18eddfa GIT binary patch literal 2736 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 LZvXHS-@ofWBP=F5 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.8.6-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..fe4605a7af9b82de8c3da360c92621f99c0bf2b4 GIT binary patch literal 2735 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 M4gQBZy#KDh0mKIZ{Qv*} literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-with-ternary-condition-all.sol-0.8.9-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..114bf2a49db1f80a5a25450b31543d0be7c81d34 GIT binary patch literal 2740 zcmbW3X*?4S1IOn+BPrxRq|C7pDU;0EGWQw(k-N!qg*nU2+1#w8a*mcOWh^q5&zf{uN%tq?q$*Qxe!eM8#u3CO?N|(f1@#$GG1?zZ} zP-0Yj3BSq0eLtxKs36~HyLnh!rFty2tdTAg`T2oG(d8=75)xqNwW#Ig3JE3zynd#BTi&XB}5TiY0i7}{Y~l8 zmYDoj;q>|dyQU0{@COSk)5RVCTeSZI}ckh%2#P86Taaxt2V(PS34&EO@5ZaM_)%j5$9k zq3=NaOg7-FLKr^z7%vj>e%9A?Tx0V`D9=y>b3gwzT8`9ILunX;XRkc_4;ZUhALr)% zwy8JT)FlgZIi%E*FYXE%io;yGb9E+XAX>I zh7g(0Mlw>cN_(KsQ|e;FJ#s@;x9XK`A}xodpv$(a8VJJ7Q3)bFu5l^*Y^ESz?n#iK zGQa3r%=frfQz^MSeg2#q-gh9cm^0_r4dD|<2XVzuzuzHfkd!xeeGLc4KHQbV62>A} zHi)By&8KXQ=3`w*jPl!If^2+up5w!2JS{th<&)p5Rqz&L*0_)(OwY0Wi9n4uv`I>p zfxrrVzcunyr%nT|k{Xil^AVi|Rgx!!?#3qAPu5-YW)GE<~q(R?u?7g8oW6*6 z%SwqVvNMGNT(T}dB7O~JbjG_8IKlX0w#+RqBFb>BVU&uLzq`?Nyut*ueraXM%daG!k5yo(pORtvCr8(j9ndWc~&ZzvX0nZ z;}H5jCfB6Ae*vAir~8n6H?rmh$R5riH$w|J!rw*FPXUaYCLRNSWh|Fv!im zJtwrHkR?L7E|5)41b=cYaoojJPIZH#rwjfWrh~+ zllj~IFV^+5;lS4ZkmA8#3Pv4sIpVWfiffY{2A4E^nWyOF2){i{$&0qsTYtLxpE#_zN zEE$i4?{Z?p&%~UwAxs^~%e?}jE36^Y`NK2$$C`t?G8}*RJCAO3GzDbU`_5wY@26lE z?$xaEOaiVZO4tsG@xGQ(C!5=Je)^{GKMvH)T*3*LvwbD}$XQi=W8T=q%?j~ES957- zq}xEVofG7D8pAm&|JIhIU?3@Mej%Z?C#G8cKeG5iRJ%UNvcFRlq)7N%YR2Lg*pmG9 z%5t|PyZ0M~W6`Tl*c(6ll$7_9DX^CVa`mvz`Qxr}<)6^%lH~b2k=j(_dcMFwem}E^ zLL=Jb4?^NgTWw&~8+K3bZ%O&3vJ3>DXn2yEKX0`l)jTuEp_;qsaYWpU_a}dmOb)E` zq|d*Jj}OTGmR76xKuUCgef*brVu-M$d;z}Gv^VQsKa`kypPK4qFs&Qly={`(vJ5sg z&x8pbJI2qaxVuWjKNv~43Jx~ZYKK#LCCB^QZ_B<%_Z0hlTZA+F;T`N_ZA;i+)?V&{(|PEk4I^rK9OkdL(XY4L!4 zk`rv%?%;8szG|L5qDeyqA*phf&mOG}6D~U}p{!rC+Jx563_K}ntG#rd2ILfnVsnt0 z^*C1WTy+fEoo!+0yE_xa()f;<4VyT?#7-yp=;Xz;PiU7KgP5^1{z@b*h)aUHtlm=< zw&f$t$YnBMs;aRWTR%$Tt2Wd>%nLt$qJ=1Twng2!jiV5(z1ZtY67lx*cf5>mvv%K_B0YR6lvrM+7liyD=r%ZU=t zp>FZAi;Q>mo2~-9Mjd&tWQGlNf^*1_Sr^N`)nv(crELOWi=?yrlnKF^*n$i4W>Osx zkPOq#6(#KcTRpqYiVZDHz<&4PXA@Dj&Py=&i`uKwhPkGmlN~_vF@k!NvjQg5^`bml z$g(@vt@q}s!`sT|HP=RtSWfdt!&eBWJj&_-b0a2ZEtdanj{nHxe}iTE7yqwEnj5jP Q|NCe9r|$nyjr-sA9~yl$!T1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.4.6-legacy.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.4.6-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.4.7-legacy.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.4.7-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.4.8-legacy.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.4.8-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.4.9-legacy.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.4.9-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.0-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.0-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.0-legacy.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.0-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.1-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.1-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.1-legacy.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.1-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.10-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.10-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.10-legacy.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.10-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.11-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.11-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.11-legacy.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.11-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.12-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.12-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.12-legacy.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.12-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.13-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.13-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.13-legacy.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.13-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.14-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.14-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.14-legacy.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.14-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.15-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.15-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.15-legacy.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.15-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.16-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.16-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.16-legacy.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.16-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.17-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.17-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.17-legacy.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.17-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.2-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.2-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.2-legacy.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.2-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.3-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.3-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.3-legacy.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.3-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.4-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.4-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.4-legacy.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.4-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.5-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.5-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.5-legacy.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.5-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.6-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.6-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.6-legacy.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.6-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.7-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.7-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.7-legacy.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.7-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.8-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.8-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.8-legacy.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.8-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.9-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.9-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.9-legacy.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.5.9-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.0-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.0-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.0-legacy.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.0-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.1-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.1-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.1-legacy.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.1-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.10-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.10-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.10-legacy.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.10-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.11-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.11-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.11-legacy.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.11-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.12-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.12-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.12-legacy.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.12-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.2-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.2-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.2-legacy.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.2-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.3-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.3-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.3-legacy.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.3-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.4-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.4-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.4-legacy.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.4-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.5-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.5-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.5-legacy.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.5-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.6-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.6-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.6-legacy.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.6-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.7-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.7-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.7-legacy.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.7-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.8-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.8-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.8-legacy.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.8-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.9-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.9-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.9-legacy.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.6.9-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.0-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.0-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.0-legacy.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.0-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.1-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.1-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.1-legacy.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.1-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.2-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.2-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.2-legacy.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.2-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.3-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.3-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.3-legacy.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.3-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.4-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.4-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.4-legacy.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.4-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.5-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.5-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.5-legacy.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.5-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.6-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.6-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.6-legacy.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.7.6-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.0-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.0-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.1-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.1-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.10-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.10-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.11-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.11-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.12-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.12-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.13-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.13-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.14-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.14-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.15-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.15-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.2-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.2-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.3-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.3-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.4-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.4-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.5-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.5-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.6-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.6-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.7-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.7-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.8-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.8-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.9-compact.json new file mode 100644 index 0000000000..41d6c1baea --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/dowhile-with-ternary-condition-0.4.5.sol-0.8.9-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->6;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->8;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->17;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->11;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->13;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->15[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->22;\n15[label=\"Node Type: END_LOOP 15\n\"];\n17[label=\"Node Type: IF 17\n\"];\n17->18[label=\"True\"];\n17->19[label=\"False\"];\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->20;\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->20;\n20[label=\"Node Type: END_IF 20\n\"];\n20->7;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->12;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.0-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.0-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.1-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.1-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.10-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.10-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.11-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.11-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.12-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.12-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.12-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.12-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.13-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.13-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.13-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.13-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.14-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.14-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.14-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.14-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.15-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.15-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.15-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.15-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.16-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.16-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.16-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.16-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.17-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.17-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.17-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.17-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.18-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.18-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.18-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.18-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.19-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.19-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.19-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.19-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.2-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.2-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.20-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.20-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.20-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.20-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.21-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.21-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.21-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.21-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.22-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.22-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.22-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.22-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.23-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.23-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.23-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.23-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.24-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.24-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.24-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.24-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.25-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.25-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.25-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.25-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.26-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.26-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.26-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.26-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.3-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.3-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.4-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.4-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.5-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.5-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.6-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.6-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.7-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.7-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.8-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.8-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.9-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.4.9-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.0-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.0-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.0-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.0-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.1-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.1-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.1-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.1-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.10-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.10-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.10-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.10-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.11-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.11-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.11-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.11-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.12-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.12-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.12-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.12-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.13-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.13-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.13-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.13-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.14-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.14-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.14-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.14-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.15-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.15-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.15-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.15-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.16-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.16-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.16-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.16-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.17-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.17-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.17-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.17-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.2-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.2-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.2-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.2-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.3-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.3-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.3-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.3-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.4-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.4-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.4-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.4-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.5-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.5-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.5-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.5-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.6-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.6-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.6-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.6-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.7-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.7-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.7-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.7-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.8-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.8-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.8-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.8-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.9-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.9-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.9-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.5.9-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.0-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.0-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.0-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.0-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.1-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.1-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.1-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.1-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.10-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.10-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.10-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.10-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.11-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.11-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.11-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.11-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.12-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.12-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.12-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.12-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.2-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.2-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.2-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.2-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.3-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.3-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.3-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.3-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.4-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.4-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.4-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.4-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.5-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.5-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.5-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.5-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.6-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.6-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.6-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.6-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.7-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.7-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.7-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.7-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.8-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.8-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.8-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.8-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.9-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.9-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.9-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.6.9-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.0-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.0-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.0-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.0-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.1-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.1-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.1-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.1-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.2-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.2-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.2-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.2-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.3-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.3-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.3-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.3-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.4-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.4-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.4-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.4-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.5-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.5-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.5-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.5-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.6-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.6-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.6-legacy.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.7.6-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.0-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.0-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.1-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.1-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.10-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.10-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.11-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.11-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.12-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.12-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.13-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.13-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.14-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.14-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.15-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.15-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.2-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.2-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.3-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.3-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.4-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.4-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.5-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.5-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.6-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.6-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.7-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.7-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.8-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.8-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.9-compact.json new file mode 100644 index 0000000000..7ef953a8b8 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/for-with-ternary-condition-all.sol-0.8.9-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->8;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->9;\n7[label=\"Node Type: END_LOOP 7\n\"];\n7->15;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->28;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->7[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->44;\n13[label=\"Node Type: BEGIN_LOOP 13\n\"];\n13->16;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->21;\n15[label=\"Node Type: NEW VARIABLE 15\n\"];\n15->34;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->14[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->48;\n19[label=\"Node Type: BEGIN_LOOP 19\n\"];\n19->22;\n20[label=\"Node Type: END_LOOP 20\n\"];\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->40;\n22[label=\"Node Type: IF_LOOP 22\n\"];\n22->23[label=\"True\"];\n22->20[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->52;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->6;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->13;\n40[label=\"Node Type: IF 40\n\"];\n40->41[label=\"True\"];\n40->42[label=\"False\"];\n41[label=\"Node Type: EXPRESSION 41\n\"];\n41->43;\n42[label=\"Node Type: EXPRESSION 42\n\"];\n42->43;\n43[label=\"Node Type: END_IF 43\n\"];\n43->19;\n44[label=\"Node Type: IF 44\n\"];\n44->45[label=\"True\"];\n44->46[label=\"False\"];\n45[label=\"Node Type: EXPRESSION 45\n\"];\n45->47;\n46[label=\"Node Type: EXPRESSION 46\n\"];\n46->47;\n47[label=\"Node Type: END_IF 47\n\"];\n47->9;\n48[label=\"Node Type: IF 48\n\"];\n48->49[label=\"True\"];\n48->50[label=\"False\"];\n49[label=\"Node Type: EXPRESSION 49\n\"];\n49->51;\n50[label=\"Node Type: EXPRESSION 50\n\"];\n50->51;\n51[label=\"Node Type: END_IF 51\n\"];\n51->16;\n52[label=\"Node Type: IF 52\n\"];\n52->53[label=\"True\"];\n52->54[label=\"False\"];\n53[label=\"Node Type: EXPRESSION 53\n\"];\n53->55;\n54[label=\"Node Type: EXPRESSION 54\n\"];\n54->55;\n55[label=\"Node Type: END_IF 55\n\"];\n55->22;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.0-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.0-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.1-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.1-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.10-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.10-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.11-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.11-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.12-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.12-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.12-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.12-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.13-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.13-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.13-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.13-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.14-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.14-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.14-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.14-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.15-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.15-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.15-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.15-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.16-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.16-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.16-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.16-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.17-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.17-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.17-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.17-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.18-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.18-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.18-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.18-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.19-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.19-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.19-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.19-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.2-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.2-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.20-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.20-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.20-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.20-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.21-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.21-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.21-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.21-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.22-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.22-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.22-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.22-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.23-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.23-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.23-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.23-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.24-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.24-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.24-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.24-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.25-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.25-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.25-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.25-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.26-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.26-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.26-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.26-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.3-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.3-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.4-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.4-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.5-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.5-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.6-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.6-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.7-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.7-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.8-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.8-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.9-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.4.9-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.0-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.0-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.0-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.0-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.1-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.1-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.1-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.1-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.10-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.10-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.10-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.10-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.11-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.11-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.11-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.11-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.12-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.12-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.12-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.12-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.13-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.13-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.13-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.13-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.14-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.14-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.14-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.14-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.15-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.15-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.15-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.15-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.16-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.16-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.16-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.16-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.17-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.17-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.17-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.17-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.2-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.2-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.2-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.2-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.3-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.3-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.3-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.3-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.4-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.4-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.4-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.4-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.5-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.5-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.5-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.5-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.6-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.6-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.6-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.6-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.7-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.7-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.7-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.7-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.8-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.8-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.8-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.8-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.9-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.9-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.9-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.5.9-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.0-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.0-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.0-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.0-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.1-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.1-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.1-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.1-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.10-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.10-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.10-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.10-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.11-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.11-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.11-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.11-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.12-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.12-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.12-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.12-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.2-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.2-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.2-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.2-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.3-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.3-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.3-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.3-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.4-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.4-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.4-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.4-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.5-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.5-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.5-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.5-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.6-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.6-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.6-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.6-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.7-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.7-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.7-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.7-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.8-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.8-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.8-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.8-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.9-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.9-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.9-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.6.9-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.0-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.0-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.0-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.0-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.1-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.1-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.1-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.1-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.2-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.2-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.2-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.2-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.3-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.3-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.3-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.3-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.4-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.4-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.4-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.4-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.5-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.5-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.5-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.5-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.6-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.6-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.6-legacy.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.7.6-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.0-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.0-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.1-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.1-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.10-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.10-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.11-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.11-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.12-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.12-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.13-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.13-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.14-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.14-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.15-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.15-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.2-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.2-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.3-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.3-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.4-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.4-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.5-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.5-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.6-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.6-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.7-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.7-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.8-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.8-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.9-compact.json new file mode 100644 index 0000000000..66e08f16a2 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/if-with-ternary-condition-all.sol-0.8.9-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->18;\n6[label=\"Node Type: IF 6\n\"];\n6->7[label=\"True\"];\n6->9[label=\"False\"];\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: END_IF 9\n\"];\n9->23;\n10[label=\"Node Type: IF 10\n\"];\n10->11[label=\"True\"];\n10->12[label=\"False\"];\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: END_IF 12\n\"];\n12->28;\n13[label=\"Node Type: IF 13\n\"];\n13->14[label=\"True\"];\n13->16[label=\"False\"];\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: END_IF 16\n\"];\n18[label=\"Node Type: IF 18\n\"];\n18->19[label=\"True\"];\n18->20[label=\"False\"];\n19[label=\"Node Type: EXPRESSION 19\n\"];\n19->21;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: END_IF 21\n\"];\n21->6;\n23[label=\"Node Type: IF 23\n\"];\n23->24[label=\"True\"];\n23->25[label=\"False\"];\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->26;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: END_IF 26\n\"];\n26->10;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->13;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.0-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.0-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.1-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.1-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.10-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.10-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.11-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.11-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.12-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.12-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.12-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.12-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.13-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.13-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.13-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.13-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.14-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.14-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.14-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.14-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.15-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.15-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.15-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.15-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.16-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.16-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.16-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.16-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.17-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.17-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.17-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.17-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.18-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.18-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.18-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.18-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.19-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.19-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.19-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.19-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.2-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.2-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.20-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.20-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.20-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.20-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.21-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.21-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.21-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.21-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.22-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.22-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.22-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.22-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.23-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.23-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.23-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.23-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.24-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.24-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.24-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.24-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.25-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.25-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.25-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.25-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.26-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.26-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.26-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.26-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.3-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.3-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.4-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.4-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.5-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.5-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.6-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.6-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.7-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.7-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.8-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.8-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.9-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.4.9-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.0-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.0-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.0-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.0-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.1-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.1-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.1-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.1-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.10-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.10-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.10-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.10-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.11-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.11-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.11-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.11-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.12-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.12-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.12-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.12-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.13-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.13-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.13-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.13-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.14-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.14-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.14-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.14-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.15-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.15-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.15-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.15-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.16-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.16-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.16-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.16-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.17-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.17-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.17-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.17-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.2-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.2-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.2-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.2-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.3-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.3-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.3-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.3-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.4-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.4-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.4-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.4-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.5-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.5-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.5-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.5-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.6-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.6-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.6-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.6-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.7-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.7-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.7-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.7-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.8-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.8-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.8-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.8-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.9-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.9-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.9-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.5.9-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.0-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.0-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.0-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.0-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.1-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.1-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.1-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.1-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.10-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.10-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.10-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.10-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.11-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.11-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.11-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.11-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.12-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.12-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.12-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.12-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.2-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.2-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.2-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.2-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.3-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.3-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.3-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.3-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.4-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.4-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.4-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.4-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.5-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.5-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.5-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.5-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.6-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.6-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.6-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.6-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.7-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.7-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.7-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.7-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.8-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.8-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.8-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.8-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.9-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.9-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.9-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.6.9-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.0-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.0-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.0-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.0-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.1-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.1-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.1-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.1-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.2-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.2-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.2-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.2-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.3-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.3-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.3-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.3-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.4-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.4-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.4-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.4-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.5-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.5-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.5-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.5-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.6-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.6-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.6-legacy.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.7.6-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.0-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.0-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.1-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.1-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.10-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.10-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.11-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.11-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.12-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.12-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.13-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.13-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.14-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.14-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.15-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.15-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.2-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.2-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.3-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.3-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.4-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.4-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.5-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.5-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.6-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.6-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.7-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.7-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.8-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.8-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.9-compact.json new file mode 100644 index 0000000000..9ca27d6302 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/nested-while-with-ternary-condition-all.sol-0.8.9-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->16;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->22[label=\"True\"];\n7->13[label=\"False\"];\n8[label=\"Node Type: BEGIN_LOOP 8\n\"];\n8->9;\n9[label=\"Node Type: IF_LOOP 9\n\"];\n9->10[label=\"True\"];\n9->11[label=\"False\"];\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->30;\n11[label=\"Node Type: END_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->26;\n13[label=\"Node Type: END_LOOP 13\n\"];\n16[label=\"Node Type: IF 16\n\"];\n16->17[label=\"True\"];\n16->18[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->19;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: END_IF 19\n\"];\n19->6;\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->8;\n26[label=\"Node Type: IF 26\n\"];\n26->27[label=\"True\"];\n26->28[label=\"False\"];\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->29;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: END_IF 29\n\"];\n29->7;\n30[label=\"Node Type: IF 30\n\"];\n30->31[label=\"True\"];\n30->32[label=\"False\"];\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->33;\n32[label=\"Node Type: EXPRESSION 32\n\"];\n32->33;\n33[label=\"Node Type: END_IF 33\n\"];\n33->9;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.0-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.0-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.1-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.1-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.10-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.10-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.11-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.11-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.12-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.12-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.12-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.12-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.13-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.13-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.13-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.13-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.14-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.14-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.14-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.14-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.15-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.15-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.15-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.15-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.16-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.16-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.16-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.16-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.17-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.17-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.17-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.17-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.18-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.18-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.18-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.18-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.19-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.19-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.19-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.19-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.2-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.2-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.20-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.20-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.20-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.20-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.21-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.21-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.21-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.21-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.22-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.22-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.22-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.22-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.23-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.23-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.23-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.23-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.24-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.24-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.24-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.24-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.25-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.25-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.25-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.25-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.26-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.26-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.26-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.26-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.3-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.3-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.4-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.4-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.5-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.5-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.6-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.6-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.7-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.7-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.8-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.8-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.9-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.4.9-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.0-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.0-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.0-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.0-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.1-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.1-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.1-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.1-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.10-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.10-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.10-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.10-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.11-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.11-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.11-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.11-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.12-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.12-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.12-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.12-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.13-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.13-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.13-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.13-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.14-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.14-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.14-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.14-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.15-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.15-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.15-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.15-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.16-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.16-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.16-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.16-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.17-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.17-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.17-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.17-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.2-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.2-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.2-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.2-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.3-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.3-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.3-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.3-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.4-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.4-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.4-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.4-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.5-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.5-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.5-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.5-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.6-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.6-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.6-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.6-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.7-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.7-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.7-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.7-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.8-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.8-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.8-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.8-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.9-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.9-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.9-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.5.9-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.0-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.0-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.0-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.0-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.1-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.1-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.1-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.1-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.10-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.10-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.10-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.10-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.11-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.11-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.11-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.11-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.12-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.12-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.12-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.12-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.2-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.2-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.2-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.2-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.3-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.3-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.3-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.3-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.4-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.4-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.4-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.4-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.5-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.5-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.5-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.5-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.6-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.6-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.6-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.6-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.7-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.7-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.7-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.7-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.8-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.8-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.8-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.8-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.9-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.9-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.9-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.6.9-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.0-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.0-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.0-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.0-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.1-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.1-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.1-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.1-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.2-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.2-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.2-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.2-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.3-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.3-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.3-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.3-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.4-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.4-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.4-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.4-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.5-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.5-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.5-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.5-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.6-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.6-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.6-legacy.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.7.6-legacy.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.0-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.0-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.1-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.1-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.10-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.10-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.11-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.11-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.12-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.12-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.13-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.13-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.14-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.14-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.15-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.15-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.2-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.2-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.3-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.3-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.4-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.4-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.5-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.5-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.6-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.6-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.7-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.7-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.8-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.8-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.9-compact.json new file mode 100644 index 0000000000..45bc1365a4 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/while-with-ternary-condition-all.sol-0.8.9-compact.json @@ -0,0 +1,5 @@ +{ + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: NEW VARIABLE 5\n\"];\n5->22;\n6[label=\"Node Type: BEGIN_LOOP 6\n\"];\n6->7;\n7[label=\"Node Type: IF_LOOP 7\n\"];\n7->8[label=\"True\"];\n7->10[label=\"False\"];\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->38;\n10[label=\"Node Type: END_LOOP 10\n\"];\n10->28;\n11[label=\"Node Type: BEGIN_LOOP 11\n\"];\n11->12;\n12[label=\"Node Type: IF_LOOP 12\n\"];\n12->13[label=\"True\"];\n12->14[label=\"False\"];\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->42;\n14[label=\"Node Type: END_LOOP 14\n\"];\n14->34;\n15[label=\"Node Type: BEGIN_LOOP 15\n\"];\n15->16;\n16[label=\"Node Type: IF_LOOP 16\n\"];\n16->17[label=\"True\"];\n16->19[label=\"False\"];\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->46;\n19[label=\"Node Type: END_LOOP 19\n\"];\n22[label=\"Node Type: IF 22\n\"];\n22->23[label=\"True\"];\n22->24[label=\"False\"];\n23[label=\"Node Type: EXPRESSION 23\n\"];\n23->25;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: END_IF 25\n\"];\n25->6;\n28[label=\"Node Type: IF 28\n\"];\n28->29[label=\"True\"];\n28->30[label=\"False\"];\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->31;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: END_IF 31\n\"];\n31->11;\n34[label=\"Node Type: IF 34\n\"];\n34->35[label=\"True\"];\n34->36[label=\"False\"];\n35[label=\"Node Type: EXPRESSION 35\n\"];\n35->37;\n36[label=\"Node Type: EXPRESSION 36\n\"];\n36->37;\n37[label=\"Node Type: END_IF 37\n\"];\n37->15;\n38[label=\"Node Type: IF 38\n\"];\n38->39[label=\"True\"];\n38->40[label=\"False\"];\n39[label=\"Node Type: EXPRESSION 39\n\"];\n39->41;\n40[label=\"Node Type: EXPRESSION 40\n\"];\n40->41;\n41[label=\"Node Type: END_IF 41\n\"];\n41->7;\n42[label=\"Node Type: IF 42\n\"];\n42->43[label=\"True\"];\n42->44[label=\"False\"];\n43[label=\"Node Type: EXPRESSION 43\n\"];\n43->45;\n44[label=\"Node Type: EXPRESSION 44\n\"];\n44->45;\n45[label=\"Node Type: END_IF 45\n\"];\n45->12;\n46[label=\"Node Type: IF 46\n\"];\n46->47[label=\"True\"];\n46->48[label=\"False\"];\n47[label=\"Node Type: EXPRESSION 47\n\"];\n47->49;\n48[label=\"Node Type: EXPRESSION 48\n\"];\n48->49;\n49[label=\"Node Type: END_IF 49\n\"];\n49->16;\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/for-with-ternary-condition-all.sol b/tests/e2e/solc_parsing/test_data/for-with-ternary-condition-all.sol new file mode 100644 index 0000000000..fa70bad647 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/for-with-ternary-condition-all.sol @@ -0,0 +1,20 @@ +contract C { + function f() public { + bool a = true; + bool b = true; + bool c = true; + int x = 4; + int y = 4; + for (int i = 0; a ? b : c; i++) { + x++; + y--; + } + + for (int j = 0; a ? b : c; j++) a = false; + + for (int k = 0; 5 == ((k < 3) ? x : y); k--) { + x--; + y++; + } + } +} diff --git a/tests/e2e/solc_parsing/test_data/if-with-ternary-condition-all.sol b/tests/e2e/solc_parsing/test_data/if-with-ternary-condition-all.sol new file mode 100644 index 0000000000..36316f83fd --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/if-with-ternary-condition-all.sol @@ -0,0 +1,20 @@ +contract C { + function f() public { + bool a = true; + bool b = true; + bool c = true; + int x = 4; + int y = 4; + if (a ? b : c) { + x++; + y--; + } + + if (a ? b : c) a = false; + + if (5 == (a ? x : y)) { + x--; + y++; + } + } +} diff --git a/tests/e2e/solc_parsing/test_data/nested-while-with-ternary-condition-all.sol b/tests/e2e/solc_parsing/test_data/nested-while-with-ternary-condition-all.sol new file mode 100644 index 0000000000..94fd38cf4c --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/nested-while-with-ternary-condition-all.sol @@ -0,0 +1,15 @@ +contract C { + function f() public { + bool a = true; + bool b = true; + bool c = true; + int x = 4; + int y = 4; + while (a ? b : c) { + while (5 == (a ? x : y)) { + y++; + } + x--; + } + } +} diff --git a/tests/e2e/solc_parsing/test_data/while-with-ternary-condition-all.sol b/tests/e2e/solc_parsing/test_data/while-with-ternary-condition-all.sol new file mode 100644 index 0000000000..f81cf9f5a5 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/while-with-ternary-condition-all.sol @@ -0,0 +1,20 @@ +contract C { + function f() public { + bool a = true; + bool b = true; + bool c = true; + int x = 4; + int y = 4; + while (a ? b : c) { + x++; + y--; + } + + while (a ? b : c) a = false; + + while (5 == (a ? x : y)) { + x--; + y++; + } + } +} From 4ecccfac665fe27a644d44e280b3e410133500f8 Mon Sep 17 00:00:00 2001 From: Tiko7454 Date: Thu, 27 Jul 2023 14:31:15 +0400 Subject: [PATCH 07/13] added types --- slither/solc_parsing/declarations/function.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/slither/solc_parsing/declarations/function.py b/slither/solc_parsing/declarations/function.py index 44a9a8f817..a878cbb6ac 100644 --- a/slither/solc_parsing/declarations/function.py +++ b/slither/solc_parsing/declarations/function.py @@ -11,7 +11,7 @@ ) from slither.core.declarations.function_contract import FunctionContract from slither.core.expressions import AssignmentOperation, AssignmentOperationType, Identifier -from slither.core.source_mapping.source_mapping import Source +from slither.core.source_mapping.source_mapping import Source, SourceMapping from slither.core.variables.local_variable import LocalVariable from slither.core.variables.local_variable_init_from_tuple import LocalVariableInitFromTuple from slither.core.solidity_types.elementary_type import ElementaryType @@ -1404,8 +1404,8 @@ def _remove_alone_endif(self) -> None: def __make_temporary_variable_declaration_node( self, node_expression: "Expression", - node_source_mapping, # SourceMapping, - node_scope, # TODO: add type + node_source_mapping: SourceMapping, + node_scope: Union[Scope, Function], node_function: Function, temp_var: Optional[LocalVariable] = None ) -> (Node, LocalVariable): From 30f26676053d3731b01c02e953359678c5207c20 Mon Sep 17 00:00:00 2001 From: Tiko7454 Date: Thu, 27 Jul 2023 15:00:23 +0400 Subject: [PATCH 08/13] changed function name --- slither/solc_parsing/declarations/function.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/slither/solc_parsing/declarations/function.py b/slither/solc_parsing/declarations/function.py index a878cbb6ac..f5107095af 100644 --- a/slither/solc_parsing/declarations/function.py +++ b/slither/solc_parsing/declarations/function.py @@ -1401,7 +1401,7 @@ def _remove_alone_endif(self) -> None: ################################################################################### ################################################################################### - def __make_temporary_variable_declaration_node( + def __make_temporary_variable_declaration_node_from_condition( self, node_expression: "Expression", node_source_mapping: SourceMapping, @@ -1465,7 +1465,7 @@ def _rewrite_ternary_as_if_else(self) -> bool: has_cond = HasConditional(node.expression) if has_cond.result(): if node.is_conditional(): - temp_var_node, temp_var = self.__make_temporary_variable_declaration_node( + temp_var_node, temp_var = self.__make_temporary_variable_declaration_node_from_condition( node.expression, node.source_mapping, node.scope, @@ -1479,7 +1479,7 @@ def _rewrite_ternary_as_if_else(self) -> bool: begin_loop_node: Optional[Node] = self.__find_start_loop_in_nodes_fathers(if_loop_node) if begin_loop_node: # if BEGIN_LOOP is IF_LOOP's father, IF_LOOP represents `while` temp_var_node_pre_loop = temp_var_node - temp_var_node_during_loop, _ = self.__make_temporary_variable_declaration_node( + temp_var_node_during_loop, _ = self.__make_temporary_variable_declaration_node_from_condition( if_loop_node.expression, if_loop_node.source_mapping, if_loop_node.scope, From b7e7287417da9606bf0815c82fb867a73b7c646c Mon Sep 17 00:00:00 2001 From: Tiko7454 Date: Thu, 27 Jul 2023 19:39:58 +0400 Subject: [PATCH 09/13] reduced variable count --- slither/solc_parsing/declarations/function.py | 23 ++++++------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/slither/solc_parsing/declarations/function.py b/slither/solc_parsing/declarations/function.py index f5107095af..b506a39eab 100644 --- a/slither/solc_parsing/declarations/function.py +++ b/slither/solc_parsing/declarations/function.py @@ -1403,16 +1403,13 @@ def _remove_alone_endif(self) -> None: def __make_temporary_variable_declaration_node_from_condition( self, - node_expression: "Expression", - node_source_mapping: SourceMapping, - node_scope: Union[Scope, Function], - node_function: Function, + node: Node, temp_var: Optional[LocalVariable] = None ) -> (Node, LocalVariable): temp_var_node_parser = self._new_node( NodeType.VARIABLE, - node_source_mapping, - node_scope + node.source_mapping, + node.scope ) temp_var_node = temp_var_node_parser.underlying_node if temp_var is None: @@ -1422,11 +1419,11 @@ def __make_temporary_variable_declaration_node_from_condition( temp_var.type = ElementaryType('bool') temp_var.initialized = True temp_var.set_location('default') - temp_var.set_function(node_function) + temp_var.set_function(node.function) temp_var_node.add_expression( AssignmentOperation( Identifier(temp_var), - node_expression, + node.expression, AssignmentOperationType.ASSIGN, None ) @@ -1466,10 +1463,7 @@ def _rewrite_ternary_as_if_else(self) -> bool: if has_cond.result(): if node.is_conditional(): temp_var_node, temp_var = self.__make_temporary_variable_declaration_node_from_condition( - node.expression, - node.source_mapping, - node.scope, - node.function + node ) if node.type == NodeType.IF: self.__link_node_immediately_before(temp_var_node, node) @@ -1480,10 +1474,7 @@ def _rewrite_ternary_as_if_else(self) -> bool: if begin_loop_node: # if BEGIN_LOOP is IF_LOOP's father, IF_LOOP represents `while` temp_var_node_pre_loop = temp_var_node temp_var_node_during_loop, _ = self.__make_temporary_variable_declaration_node_from_condition( - if_loop_node.expression, - if_loop_node.source_mapping, - if_loop_node.scope, - if_loop_node.function, + if_loop_node, temp_var ) self.__link_node_immediately_before(temp_var_node_during_loop, if_loop_node, begin_loop_node) From 442c1f6ee6acc646ef13be4b7439197cf06d44d7 Mon Sep 17 00:00:00 2001 From: Tiko7454 Date: Thu, 27 Jul 2023 19:44:31 +0400 Subject: [PATCH 10/13] removed unused import --- slither/solc_parsing/declarations/function.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/slither/solc_parsing/declarations/function.py b/slither/solc_parsing/declarations/function.py index b506a39eab..8154f424cc 100644 --- a/slither/solc_parsing/declarations/function.py +++ b/slither/solc_parsing/declarations/function.py @@ -11,7 +11,7 @@ ) from slither.core.declarations.function_contract import FunctionContract from slither.core.expressions import AssignmentOperation, AssignmentOperationType, Identifier -from slither.core.source_mapping.source_mapping import Source, SourceMapping +from slither.core.source_mapping.source_mapping import Source from slither.core.variables.local_variable import LocalVariable from slither.core.variables.local_variable_init_from_tuple import LocalVariableInitFromTuple from slither.core.solidity_types.elementary_type import ElementaryType From 8ef870bd9d807207e16577102ae1c7930b615ea0 Mon Sep 17 00:00:00 2001 From: Tiko7454 Date: Thu, 27 Jul 2023 19:54:45 +0400 Subject: [PATCH 11/13] injected some part of code to a function --- slither/solc_parsing/declarations/function.py | 48 +++++++++---------- 1 file changed, 23 insertions(+), 25 deletions(-) diff --git a/slither/solc_parsing/declarations/function.py b/slither/solc_parsing/declarations/function.py index 8154f424cc..bea1de9be9 100644 --- a/slither/solc_parsing/declarations/function.py +++ b/slither/solc_parsing/declarations/function.py @@ -1453,6 +1453,27 @@ def __find_start_loop_in_nodes_fathers(self, node: Node) -> Optional[Node]: break return begin_loop_node + def __inject_condition_expression_from_conditional_node(self, node: Node) -> Node: + temp_var_node, temp_var = self.__make_temporary_variable_declaration_node_from_condition(node) + if node.type == NodeType.IF: + self.__link_node_immediately_before(temp_var_node, node) + elif node.type == NodeType.IFLOOP: + if_loop_node = node + begin_loop_node: Optional[Node] = self.__find_start_loop_in_nodes_fathers(if_loop_node) + if begin_loop_node: # if BEGIN_LOOP is IF_LOOP's father, IF_LOOP represents `while` + temp_var_node_pre_loop = temp_var_node + temp_var_node_during_loop, _ = self.__make_temporary_variable_declaration_node_from_condition( + if_loop_node, + temp_var + ) + self.__link_node_immediately_before(temp_var_node_during_loop, if_loop_node, begin_loop_node) + self.__link_node_immediately_before(temp_var_node_pre_loop, begin_loop_node) + else: + self.__link_node_immediately_before(temp_var_node, if_loop_node) + node.add_expression(Identifier(temp_var), bypass_verif_empty=True) + return temp_var_node + + def _rewrite_ternary_as_if_else(self) -> bool: ternary_found = True updated = False @@ -1462,31 +1483,8 @@ def _rewrite_ternary_as_if_else(self) -> bool: has_cond = HasConditional(node.expression) if has_cond.result(): if node.is_conditional(): - temp_var_node, temp_var = self.__make_temporary_variable_declaration_node_from_condition( - node - ) - if node.type == NodeType.IF: - self.__link_node_immediately_before(temp_var_node, node) - - elif node.type == NodeType.IFLOOP: - if_loop_node = node - begin_loop_node: Optional[Node] = self.__find_start_loop_in_nodes_fathers(if_loop_node) - if begin_loop_node: # if BEGIN_LOOP is IF_LOOP's father, IF_LOOP represents `while` - temp_var_node_pre_loop = temp_var_node - temp_var_node_during_loop, _ = self.__make_temporary_variable_declaration_node_from_condition( - if_loop_node, - temp_var - ) - self.__link_node_immediately_before(temp_var_node_during_loop, if_loop_node, begin_loop_node) - self.__link_node_immediately_before(temp_var_node_pre_loop, begin_loop_node) - else: - self.__link_node_immediately_before(temp_var_node, if_loop_node) - - else: - raise TypeError(f'Unknown conditional type {node.type}') - - node.add_expression(Identifier(temp_var), bypass_verif_empty=True) - node = temp_var_node # goes back by cfg + temp_var_node = self.__inject_condition_expression_from_conditional_node(node) + node = temp_var_node # goes back by new cfg st = SplitTernaryExpression(node.expression) condition = st.condition if not condition: From cd7430dc1d86922deec43921ec2acda291ca0a98 Mon Sep 17 00:00:00 2001 From: Tiko7454 Date: Thu, 27 Jul 2023 20:09:35 +0400 Subject: [PATCH 12/13] fixed indentation issue --- slither/solc_parsing/declarations/function.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/slither/solc_parsing/declarations/function.py b/slither/solc_parsing/declarations/function.py index bea1de9be9..3d21f3b4ff 100644 --- a/slither/solc_parsing/declarations/function.py +++ b/slither/solc_parsing/declarations/function.py @@ -1470,8 +1470,11 @@ def __inject_condition_expression_from_conditional_node(self, node: Node) -> Nod self.__link_node_immediately_before(temp_var_node_pre_loop, begin_loop_node) else: self.__link_node_immediately_before(temp_var_node, if_loop_node) - node.add_expression(Identifier(temp_var), bypass_verif_empty=True) - return temp_var_node + else: + raise TypeError(f'Unknown conditional type {node.type}') + + node.add_expression(Identifier(temp_var), bypass_verif_empty=True) + return temp_var_node def _rewrite_ternary_as_if_else(self) -> bool: From 5dbdb20a7586747b3a4567d6cf10817b8f12069d Mon Sep 17 00:00:00 2001 From: Tiko7454 Date: Fri, 28 Jul 2023 11:43:47 +0400 Subject: [PATCH 13/13] reformatted by black --- slither/solc_parsing/declarations/function.py | 55 ++++++++----------- 1 file changed, 22 insertions(+), 33 deletions(-) diff --git a/slither/solc_parsing/declarations/function.py b/slither/solc_parsing/declarations/function.py index 3d21f3b4ff..22bbfe0fea 100644 --- a/slither/solc_parsing/declarations/function.py +++ b/slither/solc_parsing/declarations/function.py @@ -47,7 +47,6 @@ def link_underlying_nodes(node1: NodeSolc, node2: NodeSolc): class FunctionSolc(CallerContextExpression): - # elems = [(type, name)] temp_var_num: int = 0 @@ -600,7 +599,6 @@ def _parse_for(self, statement: Dict, node: NodeSolc, scope: Scope) -> NodeSolc: return node_endLoop def _parse_dowhile(self, do_while_statement: Dict, node: NodeSolc, scope: Scope) -> NodeSolc: - node_startDoWhile = self._new_node(NodeType.STARTLOOP, do_while_statement["src"], scope) condition_scope = Scope(scope.is_checked, False, scope) @@ -1103,7 +1101,6 @@ def _parse_unchecked_block(self, block: Dict, node: NodeSolc, scope): return node def _parse_cfg(self, cfg: Dict) -> None: - assert cfg[self.get_key()] == "Block" node = self._new_node(NodeType.ENTRYPOINT, cfg["src"], self.underlying_function) @@ -1210,7 +1207,6 @@ def _fix_catch(self, node: Node, end_node: Node, visited: Set[Node]) -> None: self._fix_catch(son, end_node, visited) def _add_param(self, param: Dict, initialized: bool = False) -> LocalVariableSolc: - local_var = LocalVariable() local_var.set_function(self._function) local_var.set_offset(param["src"], self._function.compilation_unit) @@ -1230,7 +1226,6 @@ def _add_param(self, param: Dict, initialized: bool = False) -> LocalVariableSol return local_var_parser def _add_param_init_tuple(self, statement: Dict, index: int) -> LocalVariableInitFromTupleSolc: - local_var = LocalVariableInitFromTuple() local_var.set_function(self._function) local_var.set_offset(statement["src"], self._function.compilation_unit) @@ -1256,7 +1251,6 @@ def _parse_params(self, params: Dict): self._function.add_parameters(local_var.underlying_variable) def _parse_returns(self, returns: Dict): - assert returns[self.get_key()] == "ParameterList" self._function.returns_src().set_offset(returns["src"], self._function.compilation_unit) @@ -1402,40 +1396,28 @@ def _remove_alone_endif(self) -> None: ################################################################################### def __make_temporary_variable_declaration_node_from_condition( - self, - node: Node, - temp_var: Optional[LocalVariable] = None + self, node: Node, temp_var: Optional[LocalVariable] = None ) -> (Node, LocalVariable): - temp_var_node_parser = self._new_node( - NodeType.VARIABLE, - node.source_mapping, - node.scope - ) + temp_var_node_parser = self._new_node(NodeType.VARIABLE, node.source_mapping, node.scope) temp_var_node = temp_var_node_parser.underlying_node if temp_var is None: FunctionSolc.temp_var_num += 1 temp_var = LocalVariable() - temp_var.name = f'temp-var-{FunctionSolc.temp_var_num}' - temp_var.type = ElementaryType('bool') + temp_var.name = f"temp-var-{FunctionSolc.temp_var_num}" + temp_var.type = ElementaryType("bool") temp_var.initialized = True - temp_var.set_location('default') + temp_var.set_location("default") temp_var.set_function(node.function) temp_var_node.add_expression( AssignmentOperation( - Identifier(temp_var), - node.expression, - AssignmentOperationType.ASSIGN, - None + Identifier(temp_var), node.expression, AssignmentOperationType.ASSIGN, None ) ) temp_var_node.add_variable_declaration(temp_var) return (temp_var_node, temp_var) def __link_node_immediately_before( - self, - new_node: Node, - node_in_cfg: Node, - node_not_to_be_detached: Optional[Node] = None + self, new_node: Node, node_in_cfg: Node, node_not_to_be_detached: Optional[Node] = None ) -> None: for father in node_in_cfg.fathers: if father == node_not_to_be_detached: @@ -1454,7 +1436,9 @@ def __find_start_loop_in_nodes_fathers(self, node: Node) -> Optional[Node]: return begin_loop_node def __inject_condition_expression_from_conditional_node(self, node: Node) -> Node: - temp_var_node, temp_var = self.__make_temporary_variable_declaration_node_from_condition(node) + temp_var_node, temp_var = self.__make_temporary_variable_declaration_node_from_condition( + node + ) if node.type == NodeType.IF: self.__link_node_immediately_before(temp_var_node, node) elif node.type == NodeType.IFLOOP: @@ -1462,21 +1446,24 @@ def __inject_condition_expression_from_conditional_node(self, node: Node) -> Nod begin_loop_node: Optional[Node] = self.__find_start_loop_in_nodes_fathers(if_loop_node) if begin_loop_node: # if BEGIN_LOOP is IF_LOOP's father, IF_LOOP represents `while` temp_var_node_pre_loop = temp_var_node - temp_var_node_during_loop, _ = self.__make_temporary_variable_declaration_node_from_condition( - if_loop_node, - temp_var + ( + temp_var_node_during_loop, + _, + ) = self.__make_temporary_variable_declaration_node_from_condition( + if_loop_node, temp_var + ) + self.__link_node_immediately_before( + temp_var_node_during_loop, if_loop_node, begin_loop_node ) - self.__link_node_immediately_before(temp_var_node_during_loop, if_loop_node, begin_loop_node) self.__link_node_immediately_before(temp_var_node_pre_loop, begin_loop_node) else: self.__link_node_immediately_before(temp_var_node, if_loop_node) else: - raise TypeError(f'Unknown conditional type {node.type}') + raise TypeError(f"Unknown conditional type {node.type}") node.add_expression(Identifier(temp_var), bypass_verif_empty=True) return temp_var_node - def _rewrite_ternary_as_if_else(self) -> bool: ternary_found = True updated = False @@ -1486,7 +1473,9 @@ def _rewrite_ternary_as_if_else(self) -> bool: has_cond = HasConditional(node.expression) if has_cond.result(): if node.is_conditional(): - temp_var_node = self.__inject_condition_expression_from_conditional_node(node) + temp_var_node = self.__inject_condition_expression_from_conditional_node( + node + ) node = temp_var_node # goes back by new cfg st = SplitTernaryExpression(node.expression) condition = st.condition

wP%OV1Y?3=H94X#V!kVJRRao8%Q~SO+nSSSt!;bsAYLacW z1DYhDi_cl@p*nN^b zE{Yu8K&Siay+QshBg)Y)yfYA}P;LxEKPt~M$lZM2;r0*Al~A_TDjeMn?9dQhg1TZP zj44I5@F+7U6W&Kxi_>i(fu#{`v6ZSBr!2+7VcW(Y<~F)xxaUr0k*V=eNcq(fZY z<-vI;HGFpFBSY8?A8pu6DARq@0^YFy7)8bmW>#mR`2hMAhN6cKzh)NLCtE9-wrX|q&R-*(#Vt>Zogo`W+J z*f|;bE``{5Wn^Q+Rdy>YfYpVC#^*b!AM0P~*MmBLo)kFJ3&1(KDVt}J23coT8c6_C o1Oww;rvI&+KhXJa!WsUZ|I0k42$pmIo*DiW{b%R?APNBZ55OvfWdHyG literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.7.5-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..b6e8d4538b5d4dcfdb3897391fe33ee53e07e356 GIT binary patch literal 2282 zcmbW3cRUn~1IEt{FIibR5z3Zvc&%)5#tGT`j&s>}R!&A)cPT4E649_%Mn)2cGcrR* zRx&PRzQpOmulM)=@1NiEJfF|^ujl`-6#@j-1poo;fTvz``;taHU5E()h)@9l{tV!I zOAhZF<|7w|3Bh`V+>t}$uwK4lzBsI$M?iplC@uhri3q}lgdsgb&_2H57gQ}Qj)jwZ{^?@<0DO)Z24rYuXu+LA=Ub#j$|!Mn=1GFU?bp*#^W@5X46iy zw9(!64W3cxcB2k_1?u2b$72$l-n_A}l|DjWN2$uudfE-tiwG8_i*a!bgB;=6$3Y2J z9`SGV`v~*8L=5M+GEiia^|9A*c=@pb?zA$dVPb;;sB|H3qA@(nD5!BlDljPB8Cv{1}BLYZ#K{Yo}FA3OipmCK2t@(Pfip-9dgC&^V$#N z6e-ec?6MZNJyJZQqlM{Ux@suvWYriLr0Eii(1LpVrBh)GaKim3zkB%480aWaP0~`) zMmqduTbBCiB9sJl>=$r>hIczm6A0>@I0C-Iy756;+1wzj!OWl=qFa%?E>Z7rY+S!5 zC8$qMD3s^MQmrqoE-lYl;-R%mS=ZyfljAm*ynwo}?IBA7tAbG=r-Bh?3F-g*?|QtC z%STmre5Bo=N`q8z<`b5LnPNRuL>H??zC$Dx$cUf>#NU^ou&^2#Lrml>iaOrxiZ~<5 z@Q}@SAZn(#fl9HK>P1E7srYOQVu;`=M{UWoiioU&XyNPjg4G$W$5Q};bOe4{Y4e$* zIb^UT&a&B=WO@Sbj|RHue6p@SEb6(HcvKwj%Dh^|(`yMMiEnFGp2k|-nQ%9UNOVIP zEz<5OP4d^^5po!xk`BqA&#P8#u;!XkT;;)?ealFW+n685Q*_0cD=%y`w>ODGuyM?0 zu``?a7n-@Hic_FQnY8DwUssQ=(aZ4HsA2E4+Nlc=gz3sv-{`#sQ18yuSxNUs#)|z< z^7S6pf;JiWvusoOU#)k-roP&0jwInrL(%uH$%8I=rb)>NB+uU^{dBA<$C!t>49Ny0=mg!dFhK^DmGm54EcKZJHkSmxl@@J@p_)w&n|t zMCpHhSMX-r*UsN0w67y2aEyxOk+Ah^A53X;hxO1=p84#b`z zN4Y)?WG|OU(bA}|k|s1K(Jtw(7nw8xO+$H_KbmdLNP39G zBbUl6*>Yl%p_0UnAW5aQ58Y_S`NweFfy_10M{)c4IE5ASpV&T-;JWIx=jh5j+ZS)t zJ*&kxieD7^AJ))j>A7M}{G!GLz9AoSDFEHB8-8P78fVBG|a}=%2?GrYqQG;zcn1e78-9c zy_mtqHTD3FI&mBW(VN$*q7(>eQ_s&uhZCoU#QTa&Cn!5HhgxtrONLqMudKzi18SnQ zel$9JK&s-mDN2ZnPuj^`tw+8DVo7M52FI}xH*zn9_=U^p)pd?RdPg==P3Jr7058~XGKj>n z?x4TD(6Ko;p)Zu+lh6|yl(^6k7p51x=h$1>q9@Stby;!pvn;mc(duu89IJf(pH-2i zx?kX9Daz3^rHOgTseFqX%%gL6cf+?D=BdM{Qpj1?Q7>CT<<+}Y&pWooEa#0wH;|HA zlCzzZpL~OKyV`)1;jTtK6%KGJcSh3D7zGM$IN zI5n`m!q@0Lrbcf&;N+zj5)x}QZY3v1wIx)+_F}4l0?8LpW>KK`ImgV`3)IfXuzTDr zWg(?89@Au9#?9I4nAXL`C~(CMul2YOitlzwQ@vFby@<2Prk5|F`!+wb=idHwLkZrK!u?3wd*nRZodVb| z3Z@8%I2A@Ti!|NvbS~fB;b6vz4=dUuT&=}yX)ldu1ZblctSJ9M8v)_2_r=;f_f4eq zH#U`O7yF5du0PVeBAG=pSJHDUu8p2=Db-YeJ(#LIulZRn4C3%vAj#P~ShZ4j=82K9ExI7WxvD1I7?C^o%!%YDFHlfZd{#Gq zM=OA)`vO_aq4HLZb*pj8K~PI!#Ih`*;Q>k8_{YXpBJ~6TPqjiY0ChqCTRHw%$A1&c a@Gt%^0kJ|r82>#p{3-emgZ~%}0Pr7FWkOs4 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.7.6-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..4cfacdc266e58e39fc07ba82064ebf00983e6095 GIT binary patch literal 2402 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.8.0-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..88cc99ed5a94a79478ecab27a7e69f631369aceb GIT binary patch literal 2644 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 Z`M;=l-He6x-!t%U-Tv<9zjg!w{sS+7_7MO8 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.8.1-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..fad18000754372913a95f4c1d495d4d327abe01b GIT binary patch literal 2645 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 WGuEf3`S(omyUxFN@i!g;fPVl`)Ao!2 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.8.10-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..18c8cd7fb2541fcebe8aaab6c128dd385140229b GIT binary patch literal 2713 zcmbW3XFL=R1IG_%3x{NsnUQivT!b^TkCSs}WrR5E%rhE7Mz)NQO>)Yf;ZPYz_TeNP zSLBeCGCJe=|DX5Io9Fj?@%{W>{N8`zW(+`W06l;cP~c8OQcmPD$5;V?4Ltxr6#xLB z@5zUuL%ifeJc9gPgCgYJF#hi75H!YL-qqI^9E|aG_6QHa1cf-e2Dy2mu^wRWV2nR2 zkP&bP0C)@lXeB0kUO&DbST;T0rg5%tz#lEuD-xG_TL>ys&)x;$?GC&}U)FMzhGaGA zGfkV=#c%RW2<)^#4ZjMY>>Bxu1Jm0#m%pcv)2J>G`NMv^o?2;~#jBO*Xu6MF*qoz) zSh#CUgYHn=l6JfYX!<(6*bGOO`xq9t8n)e}cKh~0RHGCzR`7~hgSm@MP21ZC%o zWSF0&&J0Nj%#x*#nr6a17g(@#wfRzUfyR}_y3QzCvOSWWt4K~~Ws)eRh!SPjq#If| zE+&Y6c04j7Q+(Q=2{zbi_)3JTemKH&Up<;>c(Cw`KnWTPuE*UB!a@k*(5q-WJMi^KWA1{7zu{HHYzEUzuFDPj9Q77SKC+7f~|z{#3oP13toE%d(al> zZbSa+u}_I^LTp=0n&1FajNx}*=3s|V?CW%3+JeW zu5eP_<@M8o5|l2}2Zz*Z9BNkbimo703PH2T>IuAy{YcO?RGg2XTC>C z8C^<|8r}{DRDHg`d6{E%uvN0D98dC%r^*F3SS3$GZqF_LZ^8rz2~c!h{Ggx;)?_?5 zvqG=vRfL^Yj-O;YxHq?7sKPjCLH(L3}vJ0 zSI*TlHWorDpy0GpiNFng2jmXQ^>4CLV<)aH?Q^Zb;TgxgRIWE z^L-`|t?$a8Q}_duHH=XFQ;TnYQEgNVu25Kmba+*3?e(AY-!Xd`USzG@St#^3t8oc; zXe0ae`kjO0;V#vN#}?ju0Pb+R$eW$0q4 zblSD!JEd0lNvPXp5R}rIuUj8B3-?47SS8P$C|{#++@4-`QEIQ`{xYdUkCLPm=|OsP zM#(u5-`W{CsO2T}oE&R^a$goFtw}CHEWcZUN8WK?^%wZr_UI}zq6!fywpD2{$XaGH zbbF?;x-Bl7XQ!%vQnj-v@cu7yYV5b)1~)tNLGv?=E-E;o=-GDRE$uu0JdL*APr+SP z8Qn`($V*7=yS4U*ohl+>)QA4&OhkeUt?_<*+7yL1%rEx$^o*DN=?J}##dQ-CD^)iq zrr6udkqVp!5(*jVm&A`2ni(cbVyt2(;>SN~61iDPxc<63L*eg*-#WNeW_&5nPfrZC zYge=;^A`N!p&fSO!&$d}9k5yYX+$NQvo5V{9$vfGCM<$Dg@karNrKRcwu&jzV~5Uv zd@M_)9|UwXMutI{cj+3Gew?|$e>XeJ=ndJ^&tDcuh@-wmQ?e|1v zRQ}>E;Q7(w%6d-rgF%I}&#-GlWT2wPT;|io6#XM4oVYB?5CA``-4B{70-#k;}CP7-GP$;HT~Oru7TZlBy3 z-;7G-wO7Ln$E~5=0$b=Cz?{>7=FZZj|uF$%lSSXZ3E=_~3v7$ey2Q{ zYatxWS`%MhHX0-~!(HD1chvwFzj>J`rw_-9WG_uz&)C-k>Mm#2ggfMfq+fl-+gGIe z@Owe*W2k$5Q}-B2c3+2BPvNaUu`5qEL#Rw>W|8uM=#&1#l9&{{mQ}}zQGm9+2MDKe zp`{T5d57%a&-d4@VMa<;X$=;8a-g=M0XQ31Gdg;0hW~Ad|48D0^O){m{9nEZH)CY__e}Rs-Tt8%+rR5SXg?8o literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.8.11-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..57178431ec8389febaaff690c0553021f119a1a9 GIT binary patch literal 2714 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.8.13-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..97432a1dab7d05a1d1264206c7e1d616897f7236 GIT binary patch literal 2711 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.8.15-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..85a9cecce7b94fdd767a48e7bde7f574f25d5548 GIT binary patch literal 2711 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.8.2-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..6c397a4c28e49363369bb1a5f49d9cc632c68855 GIT binary patch literal 2678 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 I(Io)zAA2e9sQ>@~ literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.8.3-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..b3026921970d4ceed3c30718cda008b5713b3bea GIT binary patch literal 2681 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.8.5-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..f94cb7ab4e14e4ea8fe6d1b31b1c2456185ed37c GIT binary patch literal 2707 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-with-ternary-condition-all.sol-0.8.8-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..dbb0be98460d90dc4f52559c97ba97502cb131cd GIT binary patch literal 2704 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.0-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..58c301266410e824d7bc508bd64f53edf9bb53ad GIT binary patch literal 1807 zcmbu=`9IVN0|)T$xW`?t!KfGvWu`J_klcnets};@EMhRs!5Bv=hLF}3R_k69+0bN_ zrX@^dTxp!iJxe6yY}b+S^z84?PtWJ`!{_z+3*JsRK_PQM0FVYOiTiGg6n5)b5dgrQ z0swOW04Rh=Iw24d6G9{r5HUo02!c+aQT%Dw5dl<6Adya_QV{+m5;BrX@+HKEQ)zTx ze_B8YF`9r3jige*Lc)L#05AZ+G%YO{^$iul9OAJ}q)NCHq88^wO6FA+GkBfEON?A| z1Xh6Au$ScqwtsawtAC?qS-u~#)?j8k4{`Ubm%kK|{bG4$HJi7;d62@U7H!G8LZ4E6)^2mdbm-XqxYGaGsyu`|#3ItYA!rJ8nD1 zy%O}+5gK;8l-|}okalKQS-4gNVBG2*G2EW$+8|SR+a-p__k5dC??=<$6y@)Bt~mg? zU4@aNsBXvQvc8b zi?Y*za*TZnb?X?Y^aBwdAoD*&5pN&cuV{^#2ntAhKYDzl5GT6fD{;$mtPq`G>OxG0 z|M^9*1G3f;rH9Ope)pw^@P-ZfyU`~nC;F<|m|u_Oa?5G0dmrJlps(iq$hd0fER_|l zs(Gh!r!#&GIghGw?{rSye!U+&2+MRaG0BHN!4wy^YBPdcwHpQ={u$@$C8 zR0ij$zIn4k(ResOr=+?8T(d0acC-8KFOvKG?S+)qL3$Xyb~_}2u9;X|c96y9$R`WE zSiFzIV|Fe6VCXr(U~q|viB?&~;7V$htnDD;nVY`Nj=|)PCL+c7x5PyjUSMV482Qfy z1^-l3uXqM4iQ3>{y8w)iD9RWpIbuv48QGU^&l=rBY`Bhp$gm(A{o-Z8pcjxtH~LZR z-j#R!5Dn!bDE&erI+!Hpy1}+Xh5B@peRi5sxi^aHZANMteUk3SAl^_R`(k8_l=Sj5 z)?gc5Qow(nm;5s_Th6S$H^jxs^#0aoOIWsVEI4n7cq6vPH6Nd!hZiOj>mFJ(rJU>E zCI>Kc58YrE zAdi-`2=C7cV81Nzc~o9-Op6zhzvL6st#WytcI&*nhMWEIJ5zlS6`aJKe4*Ctsz-^N>KVzk^RQ}oXJ^vNTFDxcFutk?4kn3 zu&3FY|9rDI0u|b5wTsT30tKn6_HSRW<7OTd>duae7yGs_pSY)@59^3)O3(q_6Rmnn ztTPqd0PV%l8C3tPl^;sCDy;38n==$qVLS8~2CMyT(-W^!^{L`;oJIQ7x6FKHRbH@X zmVk$ydDQfyFH`Z`!@{$*Y3lK=0h{nS`h%3&)50~ZWS$N-aMPszs*ubT3@F3u{~Et~(aENkGln6XwP>d%VO*w<;5PB- zOq8-~JS>ZWwF4=VZ&!B)GIV88$;MN1JHwTQJo94GPkkcdITkCpo}!*23kNOcwruR>hFa!YmA4Vts>J9nLRSO+KJlObWZ>mDLdN zKo9u7JU=Z{w_DF;PD0kBzbP*DN##1$)@JZDdFH3bky9kUuAV+g1HQWOcrL}qPdfhk zb^9Nkt+l;_7X4*s8=*S2d0D0b`VGH7-s855faCH%OB9E2?m%mdxN8RD>$r}hS;!u3 z7o4eShMfB(_p?^}3`}UOU2Y^h=2)|57O7-Qm1OM_e&DQ{xRQEd)E{2*mtdIs#9b>E ztlD^&wLLC#C)%lO8Z*!%xVkf=2|jbcq0G6Q5+l8$y9qP{udKmz81|68N)ApIK#=)d!S+T?^2{tg`gfWDXf JeKY=j{{bGZOsD_= literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.1-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..07900121e9c6d28f4274fe44d170f6070b81805a GIT binary patch literal 1810 zcmbu=`9IT-0|)T8vk0qP$rVE8J9@bH=f+<*vRhW_E~LPM$O@B@I& z1pqJw004^$3rG2CMEIjID2)hoxW7g?DirG#O3?7ZVSUlzXdG6<3xm-N!(lv8k-@mo za8IvLAAd9+r5O;0!wT^70k;9*Apk&0BtP9l-4OcwcYhfR(>k$e#f!)gIf%?*xe(~vly^T^zZq!kbui2g z^W$zOYQbYQznvHLM2+5pJ|GfTXU!EZk;N;;q-Ll>&&1s88yCCb4vWnFPfcbgsgt12 zscVy+ws!{XWH5)S-xmuozs0WjSkDYPbOILeid$o`ec9s&!{jBt))Mu_=wQ)zk*mWZ>Uxqo%|Nd5& zyF>SlfHOpE2fPms*UM>sKQ`Ux*&)C8^mp$q#o1SA#V1|%WpCP{(#JZ%uIG*ol-c-i z3Oh!b7GCC)!VHD)qlpLI6icp(-2R<}Dg%9$oWpjp`J9sNK5*dwoAW6EZgvmQ4Zgs_$a3f!k#?K|-68PvQy?)y^T^8k43L zR`2uJ@aXibPY5!-<`zuK8WioMttb z{yqK8O}^QSct#yVXv-yLQgq|7C-khC=W1FAW>vHQ!bZsCm3;#o!;DLKmwq7z??zRVIH6w$!IF~)f-*#D zu7>Id)LIzp`dY0H-xD+AX1`4TLYI}N#Jt&UnfcJe^>|gnXY&y92kR`7Q1iMZsuf(R z$DmwelJ2LP9dRvzYL-uet0qP~40Xpa)}-7X4!#zAX`5?Aw)B#<;hCC9rK5W#RaM}* zDx`7a`~(ol1T|$V1PthUchVQ~hAQmL`Lbo9;|jj7yCV@D5e4z45v&wc`WI|m5X-IQ zvw4txv;?U z|GPbwyZ1FQVsA#gHjXO2sDkMv zRxX#F9bM*pg{*vxlq}{-m7!?#YH>d&ck>8`3ks zQ)jJ<6ag5qnn`Ep7O?3!T#~!(f;;c>mn$r=@I9|0*7vw-15*`&d)%Pv6+bt`ej4Z0 z@X>#w%K@0oflvLH_VaZOGzzDm%?jr}6qI$j@>p8aSTrI9{~#C^aSy zOII1dy&9l@wS;;Tz9Q-r%mUvsx~q8^IGAFe-cu%h$TJa{K@fnmY{0~kMlCt*iyi@Q zsT0g=0W=+;8t#Jf6{h6b~eaFJ(;@WpmweHz$7 z#-HOS&u8*w@e|GAZ_%j1USwR8juu|L#*xN*;E_PLn$h!f={aL1(eiquJl6M4%88f5 zj;ef*sh^Y{O{29Rl^1Jc)5H?ug)0gLVb0^fMz@-L4nycXsH?Y{C~-N>&0<=MXHf&P z=NY$`Vjd^u%D$HmY`#!D4<>L&T{_%DZ`j*#ahvk|Z;*bP^lu(={dfLPp6qS-ep&|r NTt6H1b1DD6e*jhbWh4Lq literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.10-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..27396cf4a5cf63473f671a507789d495df5f6357 GIT binary patch literal 1817 zcmbu=`#%#30|xN99+y(?EG32!n~)(!9L8pdSPZdPOl)Q|*HErGG34InxV0RV`*H7x zq+C0_tL(Tf*IdFOxy4TJ`ThOreV!kl&+`|2ui6U;S^)R~5&%oWAx1;L#=t}v0629X z0I&c607N{6iuZ>^1QLSrkO%@b5JJU=5piKr5I+*ppFky$h!9+GFqA?H_Q6MnlESDy zxG=v!0u2uhqL7H9f3I*?ZY-Wn7x< zeP7ox3Hl8v?Sp4~z~f?KR%fhKG&5wM$tX@2o?yy&wRX%8I6BWy?ay^uiWH8Y>gOQF z`_Z>XoRos~lf^K`+dzk<|KO_p&R;HB=jr^6=pkB{lrDNDX;|g{EN!RGQSJttU%{M3{MoiTcF1-)Iiyqg}{?)as#TJd~i zr5IoIPqZyHZm`|&{WX`BGpvo+p(Q6?xUuBj(@)?7waq_Zm#~nG@`^=Z^cvD<;!2P9 zx@~u5$=9%HBQy8{vu5(RK$Xbj9O&%+WT&7`frsR=TkB;;S9ClLuo=thKyxYFiI!-W7VtomH z-M90bl)SPxDT!&Xr7Q)x;rn?6uI^gpMqO~a-TQVJq>q3(nzIq%-(|(`9D$taHsiV32+OCN&W$CR@P^js*w*9=(R0^ ztoXgu!e+rpT5sKvd9PIa^(BPAU!n>t2_Jj)l1qp52_#eWEe5a#738ob_c%Bwv1 z4uPpahbPXJW#vrao{v{m?#jQ;a@)~)r|2rqA@<+yyhPE(?@aPx97&06?R&z~9W5o{ zwoo@|d1KA8r}cU-s@6N)TS8VDovN94n)T(HxTm9c$Ge(G>XvheX1{tBYRj#7$u;E+ zSq1$WfZ}j@GtIYWr?D@2SoMb%LV2p~rff_PIrhG8vH_v=0 z*L$V;*sKtXAa+GS;V*Yo&*Se-O=l0 z^l-DUO_~Sgz^40{Zd@Z@h(pcXyKu=wYatA{C{tC+g%>cmxV4kDYw_GW?LCS0ITB>V zEsBq0mATSFI1SF%Y(Jr3N-^@t`mSBhGt@c|NDP z>mnW5k+5h)8&KZam`0+Z92oE8)Xe#{&IXKB2Mrx<{$-#( zAW=9AYHUlIyVL;ZDZo@6e15s{Qm78sh=gQas_`iKda}9zQ9G?taPh;0?14orS*-Pb zzOMr+HrZPSQ}<_BrtB&3XkbdJoub5KT~vDl?{C&S$*cB!{1yWL+oc~g{hI{7|IYuZ V)Kz<-ALIc5d_NlUWAp!g{{WOWL@59O literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.11-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..6c503f74249f04608b145740894c2f35d55ba65a GIT binary patch literal 1847 zcmbu=_dnYS0|)SLg5vCpIJM4dC_)LEGh+0K6}z?7sBuPwXdbId>`|mtZ6Zdaq_)zl zku$1lJw|JtO{rO%qOQ;V{`~ZOK0kb3pTFR3j$vTb0>A(#pyPdRtrEc$ZgUL);>7?! z3jhF|$3udLJ3QFS8|wiN_9l422_Ats*T7J?n?KIoo8aw_gS%p}@(=y7&K@BF{(%H% z*FZNf?;sC(pNIZ9Rz@b^J^&B_Kr=D%cf`ArSio?@~U&_1GppL?; z-DXAy7Q=P@#*fEKQNP9PF@!JeP)>U1$VsW;vK8_sVF{^8eCjLd_E@4XCy3{_h}+w8 zhRP1XIXN+7omzcI*THvj?`S` z!?{~mpa!jL5&8idb<4o)`=tI=^Jw$aHt2D$)|fFYyzjZ&m*D4{DwdTvnI~OVs4d9* zL%Vy+MF2NS`K4}riIxDPl385djSES#tiCjid%^L=Fmhr4+(b#Z%GONQ8H3eR^c=|O zAuvmJ(exJV9 zozMYDkug!o|wIx^m<&+$%7#bh#-swm9m zTxYfQ-Iy22a`qS-K4Gb7qbM}-!dil0fdWm}eEh5{Wlw4GeqpG#0g=uf^PSPEf=>p9 zgKdYKv=3SuA7`h6pHt2C=k4W5mx%oa7dol%^+6XRal5SlL#0B#`DXI;1$`ykN1Qz7 z2#=P3wi;CEMb7Ni$ZFrtvl4DlW$mTx^qmV+=?zTKF(R$lJ<5;$gfHv`PtB^8b5pc}&}tOiZ?7` z7_h*&$Sj16k$w>_w0mmPfSwa^GE%!kO8Am`rkc!z5%A zlXlB5T)~3Ka+~gA)r6X|>S~_iCM5S?$GUqyazEH8;`X9|m(K0yDAs{||Y0Z$e z=_sC5Skoa~xv~&a#Od}rn4E=5XEN@Jo991@Wzd~p%?}%nCo>rt%W1Rdg(24|@5Gt8 zzbK>8M>F(DIzIH}C0IOzl&LFXX?2v2FKYK9aji1E7xR`nu!zPl;VSD{3%_Uc`ARQ5Uf^zw$^gfU0Iz9zX>0% z-BkIsBarwW+)RI(bR%gJYeo{IW7WUgGlj)@36esJnnwTJU_8@y zma)r`Nq?8shm)6ghX@XP}xz)2U579&;z&MNE88 zr__wPdxRLUzA%aANAT4i)pCjr=f*}xjDE|+sZj($oqazweBj75xSbKytZ-VPd2vtG zeJjJr{7Sz*%oN04H$Y%cQKUK*)UGfih}95VZHwlmw{>f2d;&tg8t(+;{d|zg5Rq&J z5^>sR2>K}`v~D#pU=qTk=qe-~fH7hpEj@a_v|ZmW{>;u}F`Z_kx36F@3y4_960=2v zm_<@=wvtM(4od{{%rPLa7Q_Em>jzx_gb4cY{GW!IW0-z`2mqiT_4~1n|Gd8e8?afj literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.12-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..65d434349890f5487793998b8bad947c63f960ec GIT binary patch literal 2234 zcmbuBX*?4E1IFi=BaxW99LXJ_T)A?`+_DifH`5wsC^yTUGa(Uk%ekD9n>1lqZbHt; zEez$Y_xtlo{5J(tQL6(e0Zaf5#2G|~^U!jd761sl0|2N4005MW55~n= z(%&6{bdmH&VB94!E@+ek`kADYC(0RtL3pAh9gs*VA5SFQ<*An^8UuGgJGmqLT%s#jK9FT2e^KzfD+43BDsYQb>bMi{>l-{*Gw!mX2?AK7GG+9{`tr9!<`mKE8;y%iBq>`*|uljuSc|mCwGgJr8|QT z(+uE#(FqSK>tNttv-G}kv0BZuIp$u4{FiEvWwy|dEjEEKUIoJpZhn8KSP8-5pXMKd zFcDK_hIenPCe;hWb#7_Me9<4`Nn48Z*u5vVbbVGz6_F11;vyDhmvlUB{d}U0zowFv zu5NJ2adhs0G+0#7-RGAYc>!&W#=ejhCd~_3^G}w~bae3=33_=T)EP3@%RrL%bFU^A zaxsH0zCf_A6O(J=qbTUdDc$O5MaL1vR>}c=UHE>3G>*er{!BXKy8ZKy?58`8XS1=L zL(%sq#u#`IwsQIFcH_?3TTCRfi+@EJ?X1> zzD>6UxZ%Qg++_DuoTx}_*;%5 zki(kUBP~&3%PcjP7R))ZI^5c^iJG(|ph|ud&M)nD)&}pY4IPL^FU-FTAY!>L^G5;) zoyC7VSISDa-RDXn)M&V@uf)%J8dMi8etp(#>WB+nJedW!(AK7nJ~ zz3sO`kUWKn-zvWMfZQcS``FF|nN_NsSDBON8)&cdid+)oe#I7cM_|WksE(&=qEH0Z z)YoHTc;s_nToZy3U%;)88bq|OTIoOQZ+82We7K&+4I1eAc(S}&@GAXCh~SsY^iv?P zXH#he`yAKTsXFpO4f1FrTbY9`&p1zNR>gpa9!k5;HJH#pyxk-agp%{Z#Z#n2Mc#YF zR&e2H8&6;u6u+Ec!)6}w`ZeSO-!;>%q-+F~PT#Jb0YHne87v)Vi7q#Z(;nb?`H zg=L&)_Svgh?ci@v54D);yDvTYnq{-(){457U%VG|{;B77bus0d1SAT!WGEDIgKti* zkY&8#1so5Da+Cyn0**4$yr_%@7qO*DhMP4_a+W)1Jh$3@HH`#x;P%;w^2s2TBmF5< zk8#@?2xJ+s2H7XgIF1L_hfcRB9u`%5KaR^5z=f0% zO!LfUNZLQcE-H;7PgB_*)r+3D=MUc{RPjc4us&!g68fkt7i5Ms@wTlg=rvIU)iW@Q z3-?x1uP$F$MSZU>LCG7`x)szw@MK1c#>fz9bL83ld93Do|pCvCWx_P;ovblosL#yCxna{o0xdkw8fF{-hdf28a0Z6^G9q9#gm=4 z={`?1EYMsxCQ9?4>%f}VE3n8YA`eZT*qs5N;rU-Q^x94nB#4u|m z8yK%P_n}F8Zsp=TO@{jp3EI+Zc9Vj~GFyJ3gQQ{Jx1*Li#$swj{B?pr2Jk%_SwXiY6|M=w1%dO?1Bx?22{eHe zFmZ;%7k?J%^6QxxMsLEZD0}dG^5XP>sry!jzK?o>w-f5h;lD4*kdEckR3dL)dLk9{ zuq6|68+^?u$VxO#ZgxW_Hcg_2UqesUKW)u076#ZW(Xi`Oro1Cq!D_~)E??{Thv~RV zA*QB-FArzlPK11S{?s9Wi70{JY*vk(kj`-7{$N&KQ+P>45ayo Oq4?V;e^-I--}?_L>o3v( literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.12-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..f5cab04651dc0b25c205864e201e62510174e12c GIT binary patch literal 2119 zcmbuBX&}@I1IGUdk&Ijk8o&Kxt2ao;4N#@Q4bX44Ro z`&h>y*GTSGxpy3Iv&6RV_xIELJRg4Fp0B^h)`IJdA;1X;0uc0(lQ`ZF@;=D)pdyo7UVhwKv%k~wD{Soba21qXBDi^$Pq!8s zwZ(bL*B>kE0nwI@OLmx6)Ns}A$Vo{V#}X~yOz5Z|45lt9$0=Zma9x?LVj=#cfx3LO z4{LH>@G^!?rdMgnJ86A2)xe$PujFqmMN{|Uyho$$Mq7sDdpeMf%qdG|{ z+?w|UfS(UyES}fsFnIGY5LgfRJ9Mjys;2q+>iMA{<#~~40jyRwRt(Akho=< zdAjM-y7ICwx)angM&}KWr?={fZ8bzsD^^MN$NBvn;3$^OR^BTL%)e7K`2NG~2^U-C zHdo5ruJ_LV5yMkp&qnNHyt+gOk+|#UWm@{${5gFYen~_qD~JD1{RO0TgxN&G;+kVR zUGMd&!BtZwtfp(7bVoby{&@HdT$aKPS#fCqE+uu;)lAPkTfIAgUPFb^wB;cU4nm!S zX<56|%Ve+Ncd+-3!@7UCngJYryGfp(M;Fe4YM^5Nn6Ix1CO4tZ5l<2;CFRC|$%T7Q zYz5-5YCRb%DGaMN6q9d;W%Bru`nRd2O?mw*M+O)ldaN^Fq8rm>w%$!z3M%(kRhE?T z&PtZ!pOEfFJ&@}hwLqIG>;GGz1qsu@CHKXDBw6NpS-KR;&REgB=Z$o53x+x+SGSmlk7Ik*cYQP7zYKdMxw-54WPbAfsMLiXG++K+uu(Jvq@6#kkd6Tzq#^{f$@g_I zbCFR7;`YYqUxdWUugC5^|NrO z;5B$N6sIqFjlDqn;5=znR0abN&ZOfPU1q^=zo;Tb^`(spV~Eh~J>iP-&%)i%EC_;_ z#d)pm%%|gnd=1I7KkFaPP90uBitB($sG8GW zLWl3KbbZ_OC5y?tH%&qsVE`XxD0Ex{VxKO>KCOWS_NFYzAZ}E>y`Y@tn)gv8v-yfz z4%zaM02#hifYRH{S0l8)fL~=~E24?F~<`bnXoX$?pZTD35sKHL1bwG#;70 z{tG1^)sV$+AvIUi4~nz>N%_?^dj=sCTeiVBZbcB4aaF7~v#SzcQ5IU<>DO2g&kY;qfvAB8cIkAt} zP`anA{`RQa7Vwcx6g1_Q;>SVw1ZMkP{@Va2=T>2H> z$?wchm)0X_gf2TO*g7h}>T;AqSFA1j=0%9JOLLRnLOs8>W~dvfJ9ww;K~TiWf} z?=B^Ze;VGYuAv5hNlNfQno!M_f{nY3KIn3cb^0{dL9`151s{Jx^*uA0!XH~@#dTss zGn3GAz;-yLEfI-n|~ zU=nfq2~>5{?3)QOjA_z^hnsT9x#2b1DZlzCj+Oh11G1GeT(cMka#wn&FA6nLPzS?; z=Id_tI|*>Dw{Rs`bh);c%%;i zfB^si78OK5-PXQ`#`vMM?_mgNZ2~F~>m3-XeG7-ZjUixgSZ!}VKb;_)9}*RU#|09Q z-hsE!7$Qo?HwcFn6BGh?{H6f_Ch_ri^!M}wa)w_OD_DCX$YFk$A0oj@o3r-+gHcVx~@C8cZRol92fp@R13O!B@_pm=T zS8Q13oLdo+_fwh>HBsbXaMmQT<}}h;%Urj|uJ1(3e1b3ASY!U=l#U684#5Na3o{ul zA&p&Js|tln>2$EY_{|{}XSla8|9vMhIrf)JBPsf^-s$0KH8-X4lF61f#Ve|KUkq3x zZMjHV+bsJStpIpb`d5#0^mCdM^b}|Y*7OY9tOIjs_LB`)p8_Wg%ip2bh4-abP-O$t z(L2a~s;XP;+Si zN=8~n>W~^9qbhfSW09enxmglT0uCStGP}yv#`L1U|Gb@AEU4Ui9U7F*-y|;qB{&K5tCP706M>_NfY zmkdjP=%AHu#M8}PZxSc(dg^s&t*?#Hql47#hMrdW<{n%0-Ug&?LkCQvtE&b$&uU>>j73*6+$ePsYdwsuKeRd`=BDeR=SM=Q-DW$no$Se zeQ7cJ{;?dNNRn~Yt$fE}W)JCux2`o1RKQ&~@*BRCOb#Ktd+9%p@FO`g&n!&2w39oX z0`xs*)F`hlX#9>-#dOL1f?cABh)9O|9@v=O+mj8von9#3&@O8Xi6w3Gv|xdUo(Ulq zXOnZQ7n-vFniX`DFW#&ne4?g6nCfJP%|zTH@wv{3q3h9)98PO z0k`6BE){hg6xO@QYxH$jP18y^V1~bdgXgE12br72hjtb-;s()ydeWdTK&ZK~$@JzL z`rmRg32{(EROsam%|wQ7&ZOSl(R^Uo)!-_#L(3@ZKXnl0N+f$f6TcST4~&0y-Jq^8Z~bHRHP1D>Wd#IrUsMi zpZC4aydhXgiu}&KoxrCNOaV@ej=jsbz7Jnj4SyOrzug$T=veXTm9PA(oeJIFjfr1rgg*$*-`Yft20ro+^%@_wA|WefK{cE~rVntf>hBbYas#z>0pd0PjJmO(ALd;r6VKnF4R7O!l+bEn>NmgA#>{$*J z6w%-ev!haFcG&tT?-}2@#Qg&$fdyuZf{mB$VHq61swNbBq)A@;$!Sxo@zQi0JmlDg z9oP8WP=N50Fe$+i?X7n$#ap5Ka~k`u*C4#TBocvPw>7a5n_W81d^zqXB*Mis!*D4& zneg*1wUIKqv{~PRm9^S0_Vclp5IJW5=a|X2aI6&3c-x2O4n&gh-=m)xoO^KRg{M@8 zHN^hWgKxCA2=35FJBo}5R{S9d89nC0Lr`4D_D4@yJ3;vP!2Ega7~l literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.13-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..45ac256d232088755542f681a054e155bcdaea72 GIT binary patch literal 2119 zcmbuBSv-^r1IFK(7|FgBvLp?ahU~Hpl2eh8EZJf#Gn!sQvdfq;HKR~CWsM>HgdtgH zY$a=qCHuY}+mNMGc3Gs7uU!`I5?w3PH<=T)wf`V|-8Zgsd15t=xwmv*1F`+3)<`Rpv=j~P*mKWm5Osm(Iq~o))_G=1$d}p}X^?dBixlT&sWgX|#q`8N! zLXS9GBhR=Ps!I^acLwEE?x}xzMWOV95oYCm8p?lvjh<8>z`+P7P3hHC{u6s`#fcct z&Hf2qDeMlZB1cWuMs3MN#pf__HgRP-Ja3EO(H(Bt&FGMA`s7~INQMTb5`t~IHJ)8! zhxWT7J8lv9N#rz=BdbT3Rz(#zePIr=hnO?%s#=A?p$9x8p;2sL(p`Fx2u>&s&@i2{ zGZ*f)^U6l4Hw;@Y;9>)ADUaX>_fbcRElx8llMk=9I$yNr(t6+J=mRveq@t1{R!w4$ zSe`Yr`7Pm}`4~MF96`j28f}r)vhYFqgoly8`oqiwC+|I^JH#DKFiVe#fR&=lFZsGdc+e!?!0qE*?ew zB$iNNjMM%{n1M{q#8IFfy09_s!-uP&FE%6A{G-JPyXjFpOt*w_{Rl_e)zw@J0lSRc z$#OoTK4rc0h|+ej&?X?97C+$ic9FGA-j<5V}dHXS0_@rj=EY6^+s{h?XH#MzS7wR0n9gSX;a-!Ph6N2k6RR>G|LHri| z!ax(LAt}dUCO8B37zCP(P$840kX?BwQp{{jZ;{n7(cJEPmZ8=A`*G?QPBqjO9P;IX}>WrCz_rD(}3KTjnx9!$w`o~TB9vo%Q{Zj8^UZy#7r zG!|^e6g0#o!D1gQdOex z$VirCAO0|nZ%bGKRzHK5o^g9+dDJ8{L`=U(Ye~4lX8h6Fz3g6d0R)!bLcSrkCKZ=Fii!CqItK2jN$;tSN(pY1GW13k=5PO zq4Iu`904>6-#S%r99%Z11U*?q?zX5jZ9{4)WW@%SbA3o?vXF`2i#%crFx#pewD{3U59bbqgd-t(6>QcoJ5 zY@XY?6YMS~7Fm}X2oX5AD}J)5wVWII>-%lDHyhjuAzNi{6E4b~xmT=bJa)VEhJV4L zP5W1`#C_8akjAtqN6e}7W9lZOCIL1a*Pvh0D2uPUubAm5nYxcR7AK(4m_g^orEvhVR@`iMoc_M-JM2-Z3waqvo3Q22sE%p zocL2?cWq(M_Eb{ER3T#E?by4P&JOo&1B9{@+R8|^<2#-BW~p8b z8}o8Mr0+oqQYSa1q;l4HFJm}ghAGRY(y7@-wIW5&PKpPYAajJzx83=<_SN z=H*p)6(7D&9dICzX<$yOIR&w8egtLby6uXL3#&j$&c*6-X;PAQ@|FWtQdBFSoyiaK z4<0eILVPyeb~lOJ2M$%g)}eK}V~s?rId_*B)q%DQ=MIY{SQZS6mAzJ9<4V&d3*sQB zWnBx^QRjA&?^|2HT%Z4P0i7>$iV|0mDS8YxYW+1$u{hqHiUY+!9s&*qa;%*wV)P|A zTqV13*;2myvT;_ba;t7NrE``9@c8Z;1`l@37)#?zb@@a|RuG}et8U@txg&$`Q^=C6!A ze?F@6vGDe_4QtKOw`F)Dz9)!Fd;ZK4yZ377&39Orgg|7qxIHRV{z4kc zGY2c<2TN_op2^f)hcR%6HB0FhrVuFd*uPu+x5)n=JmeqzN2gnuvcvwFf&A{n-~96X IE&#y)0J%N%0{{R3 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.14-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..a14244c2f82c6dfa9524c9a3bc3a6cbfc138154d GIT binary patch literal 2235 zcmbuBS3Dbv0>)#nSS6*XHnnRMK~;{u2}Mb**eeo2(Auk%SaFJ?>KLU)joKrKP0hAO z5$hPWRjIvhd*AQV{l16q_r3g||3>;0l*#~d024qBc@8&ls23yA007|-06-Z40AQSb ze4U-dpSvN^&f?FJzHZ{a&RC2+HbC6b6XS&RMS5by?a^onA5XNcv%i-o*4Ne^>*$7j z<}BgvqtG6@of(VDL~|nPBh_C5~^e%$g#C}Ym(>H zo+iQRbldfkM)z7b*+)5dYn8NCIG6@FV9Nc5>n;-K}c!xzPyR1H&kZ zBQ7>u=Wz?g(4e5L1vRj6BB+A>)_evqo87vhd8NriT}g4SQW0Jj z1$Q*g%<$8bMePh@d3krQtYRvuHP>4AE+gxNW=!B~CA#et3B{=V^zOZ`pXD^#mj;w% zc4kZ!!nUvnAvuz^W*t)buVrtD9L_}(e5l)Cy`Ot{Z2|+gvG!|y+R->C-dBN}w-wU1 zBP?R%_CH>~3r+m%2ndCOt18z5n0-O+ z6ST8is2Prh5n{T?<3&3Y*r<63A9@c{7oF~0=a>2C0jESM9(a|tvG0^N1c-^v%zB8i{bBwvkRaSc`uhF=OvfW$1v3< z#9yh`*_(ukUP6Uh%I2$=@dL5y_7A7Qt;WezMO}>3>SD_Lw>^d^Z_<3th6Y{;4EvXv z{ELTj3k_kOgmkwk_$Z2*%O7b#^Q%tuV9+Q=bfIjAELv^v+uqexy|L?!2p z?pyfZ(q^FPK^4c6&fD@7MVr(^vLw9cx=hj*lg2H-@b2r$_IJQT*;=bn-eNV;nSk!B z>sb`l;)S30!jjHaaTChynWJElZmV5+YS$p)hz}DP}aO zt^7qh=R(F(N{{&=LMAr-NM!j=2?|*HsH8dB=6hgnMxLvot1BSqdFWDK-PV-Qw8Ra* zRE^$~D%sXJ0<|hzbI6bIFIYYV1~_6U1C~SlJadHWPRviK`NxiRuz4`ma zD#tT9gbtGb#jH)_r9458&W9nqKBHjP~607;S%48FV1be)irQX*k7Y;d# z5qw8H5at=C;-I6$TXZrp{^Yi8+TQ=jDiW%smisR&=xvZWYpR5}ccM>>0Szc|!cYH* z|0%W>W=8o{pjw?RZ3iSZ;NTOLuuGDn^&fmW-j)$t!My4ZCwumaPb(#0wI{ftYiC{X z^xLs0SLg+?sdm_|$raG-&7Lw(tO1dKcpqmOt^(~3Vgr{qdr|&8`PC9<^AHv3Y!SlY z)z~v`Hm3-EPZYm#mFew*lTv^qRMeyIosR)E2I3pDB(lEGx$9{P8qM#iQ~HL1^SPl+ zn1Xux+4q@226w{UEOTgAh28W7l3z%315u`N!`NH!qF0Sf(VX9BciMYoz`7hm}AGxTlm4}h;SMDSAM*3vr$`t?G9Dd8ge-lpjXZ}x* UFw&=@{(~X=U60=@Py6Tn2kRprcmMzZ literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.14-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..ddb48c7867d1387d79d74558dbcda0ad42bdc15b GIT binary patch literal 2121 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 T!szJ#&QSfa=buz${M-HmR=+8{ literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.15-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..a02040572318f485dee18effb7340cad2007ab26 GIT binary patch literal 2120 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 bCJguo|EEw`!kJnA+yH;q{Wq_l`?LN7{N*pA literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.16-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..720030266b935c2ae49dd2e870df2cef823a4724 GIT binary patch literal 2131 zcmbuBXCTxM1IK^PiU=W_{MFebitP26XU~N0%-rEPXFH=flDMLDWSlK4dxkUaL>U!z z#9ej>Wo7*1-~W04yn4Rh7oT_Ex1X;Kgq}ec009>O1Nezk;xPR+G&2CmD*%8l002lI zbf}NFe1so7z(+m;9_l9_>Jx(W2#J#S3PO6rL*YS4d5?eq1$0mV)F(1HC?pi>5#r?s z5BE_(po5Ss42*y~03-l__Jap^RsL2%6@3_M)nv~jA>mhhMX~92f;y6~&UdMDzeX8> zikgoyoLJ0=<{9HZy4QKe`L~*NjFLzaNWDTY&e>m7}aFc*_PgS%^ zQaBLghWbppXvf9GY|sqErP6upcm$|;wtOD9w$7y?E8C^Hqs1=$b9f2|Y1)`VvhW?X z77oy>u#Fi0Y;>C=05?1@eXT=+j|ZyGnc^A0?-z;Qp^bYh#Hp67ZmOXlsEpZlJ5s3lBZu7S-dy2_gbsyzRoSl!M879$Z zkI#@`&jT12nb1*}58Yw=S^SG9WYV9aw!HYG>mB3JvE7FlF#;%*pz znl|^**;$V!t1r6!t24T$!)-`reP^$x&3dL-GI2VoN5P^ZQ~=RVTls0u#hx(a-$-+x zMXS`%UzHI7qy~j3d75VS^eHfX`!^D4**)iCA9C=`g78{(Q}B^p#nS{Vsm-Qbo3;9E zm;97DCeRR8ohk6>6IMVn5Se6|qxz#?{9f{8HBzfX$>D3g*@%4Y&orvq{kW}XE)Mpc z`njHUe6XR}l9FpB&#R(mc0s0uFa+PLsiRg9ysgc9f}PIf-f+ti%49sVWuuf0)NrV@ z_Ep0+Y$vx4op@1wr|y_gi#8bm>rr+>@|Iw$(*&b&$D)-@;X`-6U&+18mN z7u+B=w9x!A9t1^2OMR9h7RT6>`okkEot4RsyBhj7D-m`dc%lRG!7doo3yaoEE=@g@ z;c{?KqB=`i0*)i~9VRRE-YdNVU4gmny2vgq9388qe%OZpC$mi%KLsCgq>qAy0+8 zKuvfqKbO2r_gRL0Ymt3X7Oh{a7x6JmO@XH|GJXDmEG}L{=zbYlT@24b;>S4yS}F73mkYZ z3%1HhE^)S%nfvGDeo-^E5W@d(Wee>LR+;ZLK+(J`(hD`$fc_j3-{*`-Jei_oK&$sk z>9BtDt3Xvm;Cex&VRoi>P9UpAl+7cDc5;^C4A=Ece4MG<$_1?N8=`LhLeEK~usIPg zH7%_{9K&WXcN#+|gnq?!R%3>~7&8-=&ZrN~!jz%*P%+Gvp8oG>lT$-lvOv-OzgTP* z;!r>RVs11uRoFfC{j_dqc;rHT$mmYY3K>AvkHw2q4RmHp>Jc40!?C@obNw}c3EDsx zqTa!|#MpDHiZ{5#=jS<)_1P5YdEntJDOp@juVxyuShRL=7!lFS2X@sipHO;%QA3ip zg-{b2AbgN?K5h639=X55Y*fmdQ|vKh(~?4GrV@)2%$+W)(~o%4B+sd!9PlueLu-GC z3J5h%K7+RoD$sSvofU`<;8bqWH)>xkl?aw}sX%2F0`Eb^IAE6_AC~NpG$(0MkV3(k zKXY14mF_a6_!TzGIG(P)K=@9%xNTQ>Ebz*<++@JqGA%d}SL~fC!mA$3R@YeDdJEh2 zx%*eAXfwZByYRlif>1k^J>9#(;UWIgFD5QBJ6Yxq#L%_Pw}mOCi%ax^vR9xkf2G}< zk$BEyaNhOFJdR3grVsCI#ip(G4Smv`M9BMDIUe2vA|5>lUv1b|h zEM!nfsq)&KrMwY2uU2=9d32vx(=_+7y!#jiT=w~X;GD-K|Cp{Z^GQQ;&+kp5{n9us z=jEQVB&diHB4g!h#75Ln8)+x+!jxnPqYlf7IFR(7R(WZyU^ckUZt!0Hr@P@EMD`fK>s%LO+Z+ROmOrIl*`gI~VP?t=Y{-;+L-2a?dM)jd2| z;gW;^MBtRP<5+ literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.17-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..bd1fe0926e3cfe4a32b4d650a95904a2917d35b6 GIT binary patch literal 2247 zcmbuBX*?4S1IH(G73P@SMC6?NmTPX4pCjVSH z$0%2|+*f&WGs?f7_s^^6_j~dE{NDUtf1P2hKr_H8051TFJ#rVbJoWc72LLdr4FH${ z002BXA`%?{iN;`YXh<|R5(9}uhvR+2Z$bP+@d4OKY$zV$i^Hi!gyK->m>Z$tktpAA ze+)JXtri>+isu5d0j>c6i2#5Ji4>%LtQ|(74>ua~6n5jW@^7V*(p|+&6>874>It@m zS)Zab9A>z4*>^Z((0)+Yz%-GK22+~_5f87IV7su)H)~(MXAU2&`shIpx~Nct;-qV- z>P|$pJuyKPdfdw-Auev60hLiq7peh^e#z&43P!$ZS?G0gS@?W7-)g~`KMCrdvYG65 z3><<>;Gi^d5rqlss~}uv->i~m^Lb$~%8)O`kFbl0iP&QFrlcZ>JJkej)Bf-V$Js@v=&E` zJx0YNCXm9q>w{owO7dm`>FU_jZN|Ldx-BM=CY=)ZN)k;??RM(G)3O zi6jKwr#|CwKed7YX4R58jT|nXu;-D}6`EjyNoCwf_s$sdR(Ea!-B#VUP3Q`3m0AN` zSiE-t1bZWvTiDm$xAZ`Y1~fNj}fsWA5gcb0E4=zyBj+He`t>u0hH2p6t!W zLkBhRUBKz86u*^g!!u=hFUJou#T3lw)iq}$h(ZS#7^4$vmpiefZ3{oOe6CH+-dH(M zmt1ExqOQ7Fh&W8m7^MV+#@Y&eH6JdND~DXcWUCdeTOJP4}e-z0;G8b)wh{fB8DDma_nR zv0bA)ILz^kfKaDQ>j*6LvNZ;&Y-!VfI7I}lb9b3F6it5&E-l%drWZJwcZ|CM_I2Lg z)L3e6ckCO+ukL(6f9{`aT5FpwGtiU1Ykq{->ayY%)>@%I5W;}ML*sQv5}tjj+iZ8J zt|DDUO#y3{o2+(@lV^fnK?{6}^LBHe_z;wFP1IBtzY<_ls+gJC>usIU0>-8Fr^ za!66kj#aDmh;2&%5IzvZrytRN7L*bz>8;LbHIJ2i6q5xlRO1Ya2B zisJQ`J=bKFu^aj5>QcQNRf`bFtZPx%{=lwW@w8xOC*S@+@0NIB_>ZgwUStPkiFifC zT<0AphIEHDK7^!bnH!ZL)vVI^DZeeA$Rg}Jh=eC*y;ZR47($n~Txg^M(V}%fKYf(9X`3od4Z&Nzhp6=I9W0x;Blq5{d35`UAgGvM2i#mrBb% z6s;IA!VYDC=T79jhQ9z#wtV6p+%xH!eUwX0e34O$*7$-eUIJxV-$Yk5>dVY?V5Y=D zjw5ZojlpbA?3-KUr%*fIjc#~YFaAN7bp`6FLk|+(gG*kBx=>!30KOt?qs4XZc46C;w%;}eR2%BC>{@7cm`BL>d zS&67?e#6UY-4DBG9GCS$`So6!XZ9Trq31F*zloKMzo`<|=~@>IP2Syq15LTEsfjiz z&zRZyO@2QuGE>bnm-e!Frhr)%F|!Xic5m6POIe8Y9c^2))e=~zwCdy<=wo}#U?O8NUwtVu?g(1W=YAW3Di=!CWjbmEXz?}KJ zU5M+MzTb2*f>HlSjk&(unt^TXaU?)q8RUrWvfi)ap|_&u4c64l&eZ<$93##?u%!|T zT>~%nZhlgT${cBxos;V-R`Re_BBq;XcY^4NJpYUWZOggpWxp0fyOEU<^`zUZ%yO-P zGg51=HznmUSK63!8vUZ>%PM}LJjE1!A4LJrG=ys3>1~-3GPzT|VVXZ{s(L?(z3@`` z^H5qeD{X@ebb2jAJ>GdabLgC#$S;RDktgzHP6@Dzms&7C7efTom#o~}t&U;#pBAl1jv^~O z_82y)j7rPadrCuG9yy(#&JHgr!AYttidWpu33%H$RN0*+QoUdC^Xr8PXBf*VGuHoY g5x+&^ze!~Iga6YhoMCM2e{NWQH{>_1IRC7F0TN~-0RR91 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.17-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..4b6dc0868df2fc07b086b858edaebfcd3090cb3c GIT binary patch literal 2135 zcmbuBX&@7f1IFhzcT6M_Lc)l@TjrWGB(F1Ga||;!MtI$k`8UioG+P~j&wbHrz&4pAe6qO znU-k>H0?FZoH*>>1x*NkY1T1X7qoY51epY4TXz>J*zwaHn5z8A+irbze1c1gg5_iI z4)x3O(Qd-%F=PztNKpgktNMZMqhHN-EUqI-&j9SGKDj!uEg2n znzq@>kXuw|H6q0(b!RoefZRb+=BZaWyW|n`>%gHf8Ki&jQ^A|B-Y#^*HfAa>(_MId zjgiwCbp$YtlOt)$qw14`7AtB_v#VZ(Gi!w5bQ6asR{?1b*5}J_ndQL0h};NR5*y5t z9J?73r9NM?=kSd$RbF^9j^0r!?PgZkGxr)@Yf3&d%ihCI-&MY0op!D^1v*l0{A3ew#QZ#`0>T|{tBNzv66HP{v?K& z<^9w|$A4f~!A2l@PH|BV&GR}H_3r%f!$A{K9knleqZ-#6#e+dgF1BNIx1`3}*(+Bz z2KVT%Ma0lvet+%-d6y<}Iqb+~N!(5Rj-sc)f()*j?f^Q)X<)IbdhPJpinGd!5vGTn zoP*Q-K+6J55kfxlrD0b@&uP-;T7J)iYs>D*=j~ z#)ly~Ue|!o^>3Qmm|gVTpkzTR=#w3Fk-V`xCQ7x1uMKrFMTW1ZMu*IxkKtmsND@^N zqp@!fK2Bz=#g9fk<1b}PY{`a=i6Rb+2r0v|@O^fc=~2+OYEhKQFxjE+PJ|u|~tXBABRCmV10>z9=i$EF#=`V+sWWHoP41od5vkCpy7PXRAZeLLNMq8C`eeBUI9zEn^e`|wCmumIwE0sh zlcQYE6Ld#^Ku{pNb{fJnkHtIMmvD2X{UtCtQ#y2@}&}tx>bbIyDTJE;dUNXIA&y*l0PnI-l&}x36|354rx=!9zyR> zuWwI|<8i&<{lo^*mq>6_eQCpXcuP_+AmoZ+8b= zVmDTlj0{*8N^#)TwA~wf$D`TDFKv86m}4)U9SocaRls>Rf>ojYt)&{e_9_=4ylPhF zUCAsnx$Z4dj~!%5Nc*GdrBesS|4@2o=!4)#6IjEa+`Gv58S)Yk$2@PFcVu?@w>c-sHqhL@g)r9#>2Bx}AzSgu8Jf0JT4Yj7JWyul2twR$Rl zTU%v1YoT>{5h?;4&UX9y?frSvc!_~p!r^16a)*qjp>8MYkC(4r4R3I-4#7G|LNV7^ zlOrqnT`wBUd+T225M-~n=_phGtHLw#hfA=dyM%+uZeGZ4rI>5SUW7%O z*%o|ca1Ja-F0Yd@G!-{TEj+iF6t;6;Fb-eDERK%*E!Yf>z)zLh)kfMe%5`Tw)zhF6 zkpL^HXUFZ@z0JN@i538rI`r2gt?{Z=eu{7EMEQ(6v^>Oc>kr{?`3E4$94=I!BKCVQ zwp!Y``}I}jzAb{cEHEU`BQ?8qqmlu^iYoi+u>$8TlLX|Ozlhl5?n`HHoIFE?b!jIY zW@EuzDLh&%uIp%jtC2YSOcx0dkdJgp_ej_W>_<~O7wY91bX-)59x%514O@gZ`uFKE28@5zC^|FVV`z)WpeUen*{dFcSS|!f;nSif!C=SGHI7>0hQ|aV#3OK{etM+ z0z}*awqjgI1ND4l+$7K}UluU{U_r5b3;s~D;09%5_ki&EC|vXYNKT>KnJvD$P&X#F zVC|zOzSMC%ez+pXG!#~1%(2xx_Moct#u3NHWv2Lxr`Or0?wQlkLm2+I)qjiqzlo*$ a7yqZ@@0l|(|2sqXyZ*oV;rD$20R90S1OPh# literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.18-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..6aeb30b5b078cbf1f236266df8e81f9b877578a6 GIT binary patch literal 2255 zcmbuBX*?5-1IB0WBPk=-$T9a;2qA_!(&WmS4I|n#M_S1CXF@aQ5+%9syOcJvkTXPw z({h<*!0v1Z}4-3YG-Gcgs1Yf}sa3R4^3?2`=5rX&jj|>e7BY0!N z{IIxie^}s+kYIi;ZU7npAOir#iHTQr_I0ioeHfw}9m(wu#zER-6H=X|OjI5Vw&;m6 zuUi6(8h6rM`EA-Sq`h5zxdeJE@uShiYF@(4qXBgOdOBliY9)PWZ_!5&y505C{A^(Y zntIAE9=0hZ>h1s0!#J8qT%IF3cIH~l__D{2c8^<) zb=w9E+RNZAO1ddJ-|yJrGC=m%{jN1c@@Jl-YQSzs2p|d{jtV+xWg3;mS4<2%jmkNq zUf;__;J@S2T~L?fwe| zJh1xVb!kk;Z!QVe_~=@*P=?!5{f;?AMbW}FdgOQ_MY5NRR&yM(X-(k7WkY@_*v$52 zja=zLRGV&6Deg!U)rTq@a;{#E2~zF_5j+N=ql*h(wp(c9bW-_glL^yw)_0SEh(KfT zFq5g3T8=K(Y#LAj6h*ZY|CVoT)VT2lbg0YZzoLwajrc;*2Ri%9^D@{4e%;@pJ^CLHnaKw?fC*x zyQGr>no+0mKQ!wrjc#+up|tH?!;-cS|CEB$n_yjZ?0JAxD|ipDIjEv43UY!Iu7 zDm)hLKX0fD8EPbTTMz$URF2a|;Y}3rgR6P+UG6}F2h^SsAS$rcJk-+=UinP8fS>-t zaPmdseO+^|?!1+i0%?<~BKMy#o5AK#{1x(9QWs;ErjRoO)d+f!hVW zv-fkV!We*oa)q2NOE@;ag(=e^%t8x(>``Ig!HENDC2A0 z#G8S%XASy7HO^7sn85MH<$Q<>=X4qDM@j4&DY;1L1q7z~Ua40@)9MI6DYn#OEHlQY z1+=Qn?&>%Bq=w2sxrmGay%|XZ@!kc+n_Cus@#{TNJYeBNIqaMwHVZ1(x5?!ASe-L? zcGj-dmDTBM#_Rn~#p`_D6V-SbtvY_s2RG|Gg^qfoXOmEQsNWgO1`-#tobWWVx`(>v z77yM|*KE_%i&ITwB;w+$uvh^QO*@q#WSxM39In%2zb0uZ0o#^2-P0D0Ws&L)%5scT zIf!gPq>Z0qeEM_WTFkb$(&wS~Lv)$omC5jHJHoSX{NPKxDF(YLwUa?brM8C*kbFW5 z-Q#uI;oXU(utS$n8*WYJVPc`oN~K;B{i?P+iUoV#cQt3%aPheO54AN#eJnydimEK< zXi0T?ulhtF`=P~M8Iwx}_c(FDCN=4L4jMJa=+B)g>~ewRIRouBg2p4a{Y@UlE#A?b zHaNhH#7YKEpB$VtFh3{JYn_lXb3#^?h%KWLSm$#0Anb4bja$miLwui~Q7SUY;t;fp zZs3Cfq%Ggy_AiFiA&CG0 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.18-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..1ffbdfabd0212264d75d29e4c279432da3c1096d GIT binary patch literal 2142 zcmbuBX&}=N1IK@udkC8x=}&~PNirRdLT+6t8K!*}b97wl&C*IHOM2XhGb;sRm*~BsH$hZjc7|SKSe?-FI#J7YdWnX==zM z_%BIO3~tOx=T=P2H@d#8(p@MGA~E|2Ooq5Nwk*6y+APfMeQmwU^Jr42YszS{%ffrW z>IA`%(sf5;Jq3x+hFB53{A(h4bG6e{;E54@28Dl5@Y@=m{t?32gma&ejO>$aj~XhZ zhU;n%%7|qQ->&ti=X-e3Ek@M6<$gEXQiD7#F71z{1A>Y*g6MsN9CU1y6SQ|{mHI8%k828Xp@^+4E$MReb+H9^ZZ>gwvsO2j z#f@-R<>@wBD=zlkeUR4P+Klw==VWQY8=bgjDto|a?{$7wfS6yVodJM?Y-z+}0vglA zQ2zC+NdQIUVZBSg=rbLr3hzEdM|*#JrT&G!FMCcJ-yO_3XF6k zkfN#`p>_dnB=4!~zqB?oFm3x_C-3l6+(sEQDq)pdcdf^`WwUMUlRaJSL(js!=S!oI z$-mA$fll7yjsOoi^*PexqQg;XbKSBYlU+nnzZZ_J8raaIGDjHBo(qnB%r6A3SRuMF7whU9i&>O`^gX)kBSi(-kATm>QtAqPa3#+z&Q*tS* zbMLs*3-9GSJN8!lD92&0(kWbNOjqeY?rv=c;2>9{o8B;bfIq~7356c-mEdPL#Z(T@ zP4Lp_HObW&mf|CaTsxVVQ|A0!{VrAD6tw|jycwlpPj3}rU1cWqdc}_l8zYe{ z0N|7UMam_sJ9T=?GQpTzsJRTCUu~an=XO{oLYs<@>gZK#^(h(e9#c|cCrf^$+gS_h z@AH|X)DSVpSe}P;`4-T5;`->%r|-skcuG($NI^%#uuGR+?M6KLQ6lr$%%e&r=&@Qc zrqR*;Z|R06XsZj3Mt{=|NX-@F0XLz>^@}yaoJ+EAXFFXDLJ~vYx@UmPL0^Zp)Mjzk zR_N&JM6V}WZmQgrIAw6bmBJCy`=avncF`z3V)6+QtNGvAB1O}U{23rQ zG|=Iw7~BwA^_f75)AD%%ivA)UVI8APhb`?=(96=RV{ zEx+)q#uMw19S2Id2iiZ9ExfHn!I?+kZC*?+sk1kCMWuA-Z4;uv*?M4c;zAJm8M6;F zVWLy(+Y999SC!y9&c#YdnjOREy}4Hsb5Y4Q&E++Um$n`-ZsGQp((k2=qAjzX%e0Xf z3t>pDcc0anqd%z&V#^utW}aM3PITe-yW(G2P__T#rsU<1C8}PHwMc!$?bw#)5sD zq6EUWZ_-}^_=4uG4{fgv+CF0HIn-T@>-xqx2FCihuu6+l+;-(b>J>wl{wm!(y_ro7 zl>uL3e=cb+B=+zzT;!wblh4Vcf7V_(@T?(*CORMSjelVt$~HajH{55P!M1l5dxuU8 zt9Mo8=*wWOBwFIxC&4vrKEBfqi3)u?+QxZP=>vXWO~0c{#X_OrV;r)P_y;Qm4W=7f zl36wlc_mQ0-H=u1UpehRzPWeirD;}fhrd^;d1}&5*?~Ri zXMym}5k6MXbST@?)blt?bLy2An`5qt{4ln|E*i4$5^Xm-8qGvexGITWt*I(J#Z3s7 z$K-|J`71UvzbdY!=)M=fx%5&|9g%;2tl98t7kAS3XkcpJzKDqM7CEuSo?XLdyV|C` ze@}A3-R{}7msUlmTD@}oS|y+yD|cSVycACGQner(gALZ|H?AEaw{THfs+xJH26y%o-lLbuW)23TiBm>r zQ1=b^XVx>6uXl3I<#nV`BY)NHIlog^CF&uHbju#9ieM5;wz8WpB(Jqde&>7<6Cc|a zS`Ba^$g=HWik{c*b02t$CI7f_HFZseizoH6SIsk_<(rxZ^TXh~n7CcMhaAXOgv4wQ23ec4vFmaCZ@K^R f`+pP9_AmZV)mxi$a{W8Q_NM`V`1#L^0D%7hP0H`4 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.19-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..28fd3cf0b3e776588489baa4852b37f7142adb43 GIT binary patch literal 2255 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.2-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..91b6c0d63047385f3ec27d13b78339a357e15915 GIT binary patch literal 1807 zcmbuASv=c`0)_wfsc-#>9sXuPY@!K2o+nHB)73EqZn$b{)jz{ zQv0M*HP&`SYNr^~(&~(95#_q`exL3+58v-RoyX4&CLm}H@B@;-Z8Xno3KnOiFAM-M zH2|;%004`MA)=7r`{8H|3Va_;3BU3&tJ;rpyhI&;b;_CC@7tE0RQ%9xWw);A?b|BrfY0sRUfRo@;Jptt1|PEfY;IQ4 z{L=N|RK3qiG65)#uVqSN;?A-S=vua1v+U)iV)4haKXi7lzk<83FCMM++`dpeBlU9D zZsw(P=(wvg7WG%gQne=X+3_&(tGdV;8)No9DZBfsy(?vKt9Ydj$NG86;e=7sh`t2o zE$RE?I0#7Zwxh56YE{AA^@cX#d|evM4_O}7r$fVa8K)Tc?kng(iJ0Cyx&n;X+1g`z6o3y&I(ko_*^XRAkpJ{9 z;=F@X#2%>|CCn_i`e<&hxXd41S)BJ9WjVI9Sx7D2FTZ`&ALZBx?CIjyzV|Xj2i?T! z(bK(Jo*wH&lIXwSce(UXn%j1lyw6Ipe5s`>m)YJ$U>;>?&Gn{9yi|6Faxh}RmnZ9e z;41OK>>z)y@s=SXCG&Lz9W|?Wsnp`z{@Sj*>m;7rlgJWM9Ss(3_(#b!a#PW?z`gk= z%jST^h;Qm#FAlux%{jVwc_7!>XwCx1(KnmEZl18aMP{P!S|mg?HPC09TmgAGs3AGCodMHsOIFt3a+haTu9;Y`kOMz z!V&4x)Z~ly^#=J7m&sh5*v9~RY*v4z47Jif8N*?bEtcpi2}R?r{+?p&)89yH8vDG! z1=ZuS^!5=sMIal*+QJ&H_O<(kzB72`1FDs-Jo~T0- zPWa!Bm;d;ARupx2tk15$CpgW>ZewFb@`l?=x+ipIXK+RS`m1=iqT~&7ErV~kK=Z}* zH@2dz%lR7KOS~QKsIy?Giw2@PBCPSY(*0ZL|;Vor5$AP{HXUXX&&k?rgqU9m^z4j%BI!_uyL-Rx^_DLa)Ru$~l{((Th>T7l?9m}#V&seP2hqyi zLBnGO<;`5XOfgi6gjQn?^RL^Jq1qR{_NkA#^;5CD+0u02nH+6lEYL$gZsf6z&&F<0 zw`-((;MDo!nrtL1VfyZFWgmaXf_dq;RjtD@&<(!zhc{&8`d;jm2~Mu_gAONn3IR2c zrh&%owu4?XS+VabnnXkvg$$~wdJ50ndoecOZ$+UR@wYVscMRzBT_91^Q!M+#^2aMm z3A~{h(H;~h{$*U{dcV$iL6`&SZ5ib%C0?LTZR$(79 z!$(|rg)ZI0d91ph<;F~o$*HHtYFU4q>BL( zTKsB5>_>c2t@$dXMmwwdsmU814C79kNIfS*Tu{d=_F+4nIcl|^Gm_JskX$kI#}9Q4 z-#qHcc*}QYLM^`}q2q>zwpz~`V-#0&6&*yCdV+Q2lRKf_xOmlH9D*%)KO)a!!kujd z^P6c)Ae=NC8X}@trMrzqOngu)kIZbSFi6aNz1FD*I?E{GluE6cGT;J4=%E~Kcp=WA z3n8sGYDKhqz>p9YjSEzWFS8zC-^)C+%$H3yTrej~hB$pre?+dtCklGNCyRRTZGgmF zAOm1EKts!{wr0*It;PEEuf9FOg6Y literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.20-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..74581d8d196daf00453251dfa29b1e02f634e0f1 GIT binary patch literal 2256 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/nested-while-with-ternary-condition-all.sol-0.4.21-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..eee6ebbbf38adce07716d0443c9081bd0be144ca GIT binary patch literal 2259 zcmbuBXFSx81INE+*~wiU7e(3Q>|}ISlD#))9cSIy4kvr>LN<39k<;&RGDC>6Ng0KV zBH1#2*1!JG|BwEk&x7~t^W^jRZJ

`ppNGkVtgEmPmOK<0(N39phSW0Cj~MyVo~a5^DvC3L9e zz>C$Azc_QcIx@9eKfpbKEAx?5iO~SHx=^e=m^4EZ&7*;=;jKdZJqDs>DU+KM*U!Y) z7x~yol{oaM)iQlNG8KDhJG?j3&;*&DQ1z?0W!@O5B`1WXU5u!4T`Z++I^#QQD8Gzm z%ji*g%x|(tGN_8seb8^3FdwX^yGHmKzi+e5P_u(K`Q7@aQ}I!iw}Fw3!eK^8wQlcB z-d+pwFi(2++xtH8{%y63_q69~Vi@_-(}Pp6*95&AOSpU#kxyaKqQ@i7f88@$Qt$ng zw-d)qmz9y+gF-q7`^bZ5l6AQ&i7Xmc)ltX8r?&nlkpyVkQ;_wq?X%6hS4xy2 zcGeW44$6GS@1dEl-eVRq|L{<8u9+m?^zJ^2cDuGg?(E;%R{(->I%(u=@8 z;Y4{dnOJ!iTM9kP&wqO83vq>70GSM!|2H!KIP<@W1pYh!A332GtZe_jfq&}xXFdKP H76AAU@)0_K literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.16-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..84589abdea371de592379edd4f72f80d8f424a2f GIT binary patch literal 2629 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 J@|R-);J>`%NJanv literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.17-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..3ff9a1a7ec156bb7bcb0e051af702bc5674bd5fd GIT binary patch literal 2630 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.2-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..d01407e11f1e2da21528b7e7f2c30e9dd7e63a83 GIT binary patch literal 2624 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 AEdT%j literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.3-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..0df18871c5f8e774bb9c81a4c4011a8021a901ed GIT binary patch literal 2778 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 E57|;h00000 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.3-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..7cd441f0db914481dc130bc94a9b41a47760a3ec GIT binary patch literal 2629 zcmbW(XCM>~0|xNBkd+l#Nme*l&1^|hV*ekK9zaw>*EGT!F_#XTo4FwfG@%c7UJiNL^-)2AA7=sU|_ERUmr$V zI>18!APN9bOHA~TJCpM-ofvIaVZrwMz;AR5#-*C`t4q`|w<~aV`0HLMZK9@GGeUa| z)A0M9+gy0w-6nNCBCm~I1DAn+I&S+LDSh;G%UMC@xUUnUR1&8bneXWc3z4lojYqew zb$#g$Zg1+2&_DmK54`6_v%9FUTrgEmegxSga=x=ZfA=AG4GXqyOp zUuJwRZx__FQiCZP>bly4s=M^h^%Tk_j4UIFpvROeKOY0s|a2| z)|tzbHV+g{J_?3RMt~9kJ@u5M+ZgE8AIPkuQq(0kS7*|#nbol;2*u3wGallEwNLP` z{JTSpOtu=;9iWKaI*iGJkFjedfyY!SPgPI(`b%b9@0|9~>*aEMuF;uTx8=jPEv28e z;)NWsukJyc6))I0C0NA~#^Xw$hwR-G_AUJ3iqYFd9t!A|?A(*+!}yn**I-xc-;TMa zDWQd6*`C`t%2z$HY-Y)iMf#?B0;$-OBw=G^VIf+PE z7i1UnBI(xux~9}zW7A`{6QPuQ34?fFhE|Yf;TmZuTfOd%7U{8?x!s!oi3i8XpXDwz z+b0M~DpWR~{C#&Pd8RRLSYK^$K_;B79u$KoRErIJy?Z{k$mnwzL&_wRH-D|vlMDh^ z!s^I`Lz!u&1zy$qL06z2GRrb+Pz}0>2i-1VR9|=N<-U!1ea<4Pv+eFRf8VJ2h}q%h zQ&kDHYRW*TBy0AkkYpxRa800(#kpt+!;DJQ*GP%>q8yO{(7pbB0~O$&i8m)aM-^GYvx%iHyN;7T9;8XBl><)UCG3uQ?)At&K|9pIVFWp9?WS z?{T{HXAx3)GP>d-cBEJp7ld=P_GsWQKj)aBCLx3QWp3y z(CU;CK$^LlmQ>K;ekAO7Qe0<iNocX)`A4;x()6vLOA6?^FEcI-uI8$Eezr2kGxGqKKsERF6M0pqeZ zqHLC%X#$cWo|;NikZBvllY_>^*$fxlA7FrV3EhE5`!{`E>N~(TSYUIkz+3+Nn|XKl z*+-4p)5cI0f#VqypORe6nk$dTPP676gK)cG=hv?c^sAdBemvOhqq^DcDQ&;1 zA2pfcfFPb(M~AYORT0#B8^gEyaj2WuIZK7&a7d_GHkNo!hNfpp-Vmym7r&KQ+pqwm zWcDnv+z|2>Q2lf0FNGmr7&22fb_(BM{S9?ct$9}w(_CBmlQ>`_g{8Ts%X$+F$*7F{ zP@XWQNg5qmW1b#kon+rz#(z3jWJqm3uT6QfwbltBHKJ=Z^M0XXgp zqX~)+`{sNa4n^hJ&j(e6|L6-iIY66!m_et~cl`Kl51x@Qi@+0MqCD$uA8L=K#$btK z?LjJzC(eUNO5992;~uuP@oM1|Uoao`nREa0?=z>^Ve(jF5yCcHO>rzIBWR%j-r(Y* z($7a%c;+ec)F3Ks!yNd6oIuo{wcbjz{@QvNmY=jUH?@rVAPmwMm4@oDvRMzT?4U4x|)WoK?4dCk9AHk@$fxTXjdD4-ySzL;a# z)W=j`gj8#jF7!$-A5gjOF{t@DYRgsqGC{6bfhNgEMWiRkRqyM%va;gh#q82W-);pl zj1k4tXoX2+un=gO%5b0K++k1wU}^-sph5G$G56PV|4kI|-}(P&XKF-u@!vP_Z{7ax K&|fS90RI6PhyPjt literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.4-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..17907c00e93f5a01e6be4173e5fe34b3c4f1a42c GIT binary patch literal 2777 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 BMP>j1 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.4-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..ae7be6af1f36244c3202e0b86e576bed5dc4b00b GIT binary patch literal 2627 zcmbW(S0Eb-0|nrSm2mCt)(oXud(V_w6?>Cf6?=pju_;ZPTWVeV+SIDq8(Xc~VqBv{ z?M+eCtcJh$fB#?pa~{sqdH;-Iq-0P45I_rXbh)wgG}2ZG0s{af1^|E@003}BqD0Xi zf$pM#E+}6oRH&#k(ih7mZ0HiONj2vJG z0K@^iOI3qN(vFWt!Z6Uk|}9Zp>R#PBo!A>UKG%4u36R5$-zC68yAVFLC1d z<395Q`w>n}dz0PDrh!@4KdE_t`7mkxX3tSh^s4WphC(4mJ38C_nM;U7&CRR$wynAD8F-+}REtv((zB1Q*qcyc4e)}!GD${G5G z$0U`S`-zkH-Tozw(7Yua` z7b3UJUjv3zUaMd)2h3DnJ1Lrm38N83vW?Kfr-x9}lyHi@>cZI5oOJ$AQU-UX=*=p9 zoQ6H66f=VvWCoO$@?u~Ys2qG&qur~W0((!`^b2c)<1-c1ZPJ-2zGv=BpmbFQD=UuR zt_4YtEV4watg0+75pJBFln5Y>Ji0~J3hdUurOXq6ZGTk zHh4uGSTi}#y~1vkJ@w+Bg=#fgwFZ=7XF5e*{%#Z>zqjSf%Zg7T!|+MQBpG(BG^Y@^ zhLT2SV^U@nhMSJVl+8HtCYf4?J?R)J(w;k^Y+ z5qvcI#wEtha; zxPZG;oZ_d}-HQ8s(@3*1p<}12e!wBy@ys&vcBA-2wSlogRnz%Ts}vW*=FLAovxShB zJgls2kKzdu6bOne^zx&&p4EJ=oeUcV)GnP5snt~9%WAp*ZVp=lM^N%yat-n==DwU*S`&jQ%AI}oz#ToAj+oxB+%W~A+#nq z9|h#RjwlQkS=?DMKhRK`XR!7>@%8+~IZ>;vzDUm*@P5#gR!q)r{x!O&Bti{-Ftj9Q zXHp)Gp{5~A>XradZoejDcoHSg7I6rAXQu)d&x6`hC4mL|QeowG3eFjemqZr{&7z$# z;G7P%vf*FbQ8_KlOa7^cL<6EDW;5b^nzReghCh&4NUg1ocbKwLVpWmi+=jP(8avQw zdVgI+_KJ4zhEyqJs+J-!RK7p$i7Q8>1s@LQ91g-=3cZ6WL29Ve*Ao++Q2L|1XR4Q# zJk)AGBhD|~%24agNilq zOBqKTI#v82w|FuVV6LXX_b-n$O@-(J0s27PcM#V*7y~{qY#< z`Vq6M5_&nlZeIY(qiVo@}JR)Hg>f&3gkEABq=d z!`{%n(LCL(-3x4$&H^TQyi<{ke2O&cZ|@raAQWRMFrGlg+os4`9Nom*t2H!c$+~7- zIpP_8H(al7eZ|jt2_f)&1aBer*QR=Hr+`F54j0_&*zFE;*nRd4ZA0wid69;JX-+mx zstr^AU0N#z6h#vpA(?Dl58}qtnXp0b)q1!Szn0m6Fswa4C3|BIoIP8z7I&GPB*mJ( zcSEqTh)R^Sno#_?&Ba11aGPcVQB4x!xrf4c9%AQLX9AX~ZJlM=%ZBo3N$cX8 zuH#Z1??r$*@H$uP zWHXnE4svE3!u^N?@&eC+8BV! zYV+1G&c}aI$@<()H2bd`!$^Qo(*I4lUz+=GVo3g-{||P?Fmj52-z2|^__f2os0aZ3 E2f3r0KfnMz#Y6l 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.5-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..496d8206fbfc2d5c641a24453b9506bcf6dc511a GIT binary patch literal 2622 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.6-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..66c3325e95be9417030f26c42b15a8209dd715e3 GIT binary patch literal 2623 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.7-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..8fca91011352bd7980dd7eb7fe7a9f55485006ed GIT binary patch literal 2620 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 A`~Uy| literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.8-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..dd0f29435954f884cf1d804774a92b21934ac241 GIT binary patch literal 2624 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.5.9-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..4099c543a0c717f86bd336160f1287a680b31275 GIT binary patch literal 2783 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.0-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..72c3ebad1dc4ec534cb1019ddaba410fdddb9a7e GIT binary patch literal 2650 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.1-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..a0b94d0f08dc4e4e2d1503e331f2d1bf1f6f2819 GIT binary patch literal 2655 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.10-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..37ed8088cc8accd6786e5b32ebbb3baf5439927a GIT binary patch literal 2802 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 WYG!9IIl@FEn)tirC?=%2 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 bhT-4&|FmZbWnumI&G5Hwe|P4u9|7P$Ud;@M literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.11-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..9288bba501183e416dc4882936fd7b29aa794d49 GIT binary patch literal 2806 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.11-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..4d6afa50dd9c81e9d414e4b67b36cb96781c742d GIT binary patch literal 2649 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 G0Pr6mB?83& literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.2-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..5662412da685dd04f0b53f7b9d165f1e04af3a18 GIT binary patch literal 2809 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.2-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..cd26ae32cd7af33007ed6bc6a87d59ad7bad06f8 GIT binary patch literal 2654 zcmbW3X&@601I9NamK?ca9i|9#O+)=ljf;{o}6!301Uo%>WTNn_$r{iy%qg2-cD}8SPTyDgvPnt^9*!Tyzh_k z1+#Mi8~}hw0N{FTtOw!%;a51^|K=J`UZ=08RQovs@g_t=x`w+&O|aEZkFD_a??h{` zQHOEjzW1IGs0)l=-_Psl9!SE_p zbUb;H(%l}^^140T;Aq|ec-0leoK~C787bOy)c(03SbSU5YepO`d$>KC3SZ>oIZ|HF z0-7a;vcGczDyK=-CHP)vf<;2etq`iS&o24^Ut}QTyBPbvjF>Y;Iqwrs<%jo)tnMN0 z`KoV7qnfz6#O~GEd0WWjVh(s$PPMR#ug8Z&K*vZ&50&xrs&}jtA`NGFF2b!NsLOZ6 z$S&M19Pj6CD!c4ILdw==LQAs0-*t8j`KKYZcucma<_iW~ovue5)XU<$95t6c(gv~8 z6Olio_+Tw&;oymV&B2duSYrKj5pmP$gRY3Jw|HQ3k?j=Ej#;%M+-6i#aLxu?a|G zKWp{`ylrZu6}N9Z*{azOdA=I@j!hp}E*Bfgl0xlzYZ2}VLiR-KFfAeqFRc&dMA!X! zH^#(%6M^ywIM8QkEJDBTz-t|h(e0wDtHiLqz;QK#$|X}R&9Mz(aqfxnp*r^697LP_ z)AUFCOoGvkKbho~XiX{xJYQJvKe+4wNgnAz!F{mseUF4^<~12%?s`j9&h2Jw$_o!Z z6kB50+jG&M<35MyKdIe9>?!IhjKoFscXSF?uE1h#BZ;|9g00wk-ZpXe2Yv-M6i1kXM>^iLrSnuq0WBCPcQSs5snBH8!;i#}hkbL1v=SzcNmw zvQZ|E@N!1d+Xl5r@|%IO*V#XQF~&a5YqOE#ab=X+ zJgNj4$fY2A?9s$Wmw`hDN3kd?@~A^S1Wi^K^*ux zuqH86QU{OuV2pC8X661fW;+NO=)RHj6d7epKl$Zyr?B`ceGffA?TjB-+ikLh+mp=? zPA);rYAqqNvEGlpV^Cqnrvv68v~U`CeckQ95aQ0Qgu%?h2&@t z88+VXVEVP)=K{_-?q;9$lt~O!MT^k=D-LQNWx^640-uZ+ZlhOe5_?%^4n!Mb#Sl}; za;%W|e%{swmpTGsPy(S!XPbR&#V_87DH+8i|<^ZIKj;UNIB+Z7b~B1Qe%pboyE7E zUH+Qg-N?+9o-q4XMnY?A8K}+$421VG*Me7GJ@8X>Fx9yN?(pYNdi=3kY-y%}B7TXQ zn7>Aw1@Fk*8XCNR+Zn_x3H*9G0%!DTb#7scgi+z}$6Slvy?vXE2? zn`!h8+}vrQ$p}#qmBu_idT_}IwL+`3-_p{8$d$uCk;&mI^2$u<8ElQgWc-KTh0#bt zq0xlcaoM=guCpOqXNc?V4N^%+$BvAqt~@2qW$fwPPi}iCTof$sT4n@i?S)2|n3b!& z=R_}6B|#T4>Lgm;w8(i9W5Bw%qJ~pk5@~jla7(3o@xzbOCMeFX zpU*c*^#kc`8qeDr<*rPnP=q`8A|?xc3~11(ZQnRS|&a4I^i9^ z{5&V!NM3izN-PB7@rD1g>abm}A<5_QhI zdv(oGvH|%!(1)}#a}3=)hqN3pDa?0BzX5Vf29LN4$1OL|bFBkq=BmnRq3P1&$ literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.3-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..2f187ae65bb980f645a635c22ce423ee1339807f GIT binary patch literal 2815 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.3-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..df4e2c0fcff21c74167e5dd5331dcbe9b9c97128 GIT binary patch literal 2663 zcmbW3c|6k(1INEJ_i}~VD0Ad)jvTp-$bA;7xzAyYQLd6>A!p8vl&cg!M_4J>l1Vv= zMhS&YB9Z&p;_3JN|NQfOKCjQ~{nzLJw}Um9)d*k#cmW@OhD+J^`UWBw0BG6%9RL6U zI6N{sC<=p&^2djH<71J&xG=wKU-{bRy$_$W_rye}r`n!j>zBrc4L zl?`wQfJ6W=NKX$`XR1e3j*UFiCh7Fj4)%VY}?Oq;j$!K z<-GshwJh`=w%TTRo(^-p{8Y#yBKP_7*I&6Kj3qBE<(w;4v zuMs8Z+z#P{W1e2dI>?vdn7ltkIv6zunF*p`_6JAT)uL#cZZ27g7Bf7usxCLbExN&9 z`a(L`dTFlzyg~PgK3L{n)0$s1p-|oQ4#(A4XqNrKtc2ri(j1Z6C3?XO zdisQN{7M>~NkBI-=ie&kv`klLZ+N~ogcXFE7Hpl(>7}r(E3LHm86a-Ej7i=Zp#&E7>G6LQDC!t^Sk*XkFerm;SKUq{+IM;` zzc7vOe>o@$w=uS|^=RSx$Y9;WZr5Y_Sf1@w!ZCiE{Yp*^4JiWRYFF=``JE><9+@09 z(fYG2O~uQa$1T?13ErJ$gk|9R`2u z=hBx;DttrrV#tv{E|t}vW=Q10k^_EN#(L#k+eqo^TeL&mGo&6MFvC-SjZ3))3Qp3_bf zenP_>5axgwBIc_LLVDkxx22+V)k|->xP-SZqENx3d8PvpktDh)bZE&8eO$(%T6D6` zx{k}_yNn1@FA)E!0H-b=pPFaONL$yC@lXhW(|v#Ud_qbBFmZ_3a!FO@ju_)0 zdCDii>hSIAZQbemXc5y;5i>2?L^tdEoOBlJYiPyNAjl$VhBvn@Gko6r;4u2uGE0U8 z|5NUXFP|OWYr1?e1GP>?+iI+%NrWUT=T+br5#w>&vbyDKyzK!mCEA_*BYC>lFJXvP zYDI2lnu@N?bZ!1nW;__xKiYEl!DA3n{Ft(fczPksEcsIQYZReDcayM`}UzbCAt(C84Ce z*W2Z$r;KZhQ-OvM&PN@%$L{$S7-wpE{w(jwg7LTRtcgoK>8MUhQUaN8**suuu9W)i zB>q$_Oxxc*zoPU9UVXLTLZz3Y9u>JcT=>2AQm>6{rf>r@?nv|czToH6YH4m&Bb;QQp(pxpIJ29I+C$A zhjjL=w9u_Pj}1>;=5i%ae1)x^NHV%cMv64MUZxus@^A(T$_XP=o0pxy8FS#(q7XXD;z629Ipm zn^$m0%`~s^MUY(OC**B3f??L7HT}K1h53C%QSszRg{gIQ$qJCa1i#zj8feU>EucQ> zYO=xaM@sh0AZK^6Ffh~OP-a__+UAXNo-wu3P>E5zR@HPegWE@${k#m<(skg>3IyrO z=w5#rI2iE-qx{Sg9$?DByK|FURRa=wGSoUG&g)G}vxmD|MtWL7N6ZaOKlen)Q1dqv zUP^qx`il!>7|8ER~`RM6258CdUfp)pIz;8biz?0j}m=QkkX)jHcw2xI-~BQ+G(!$ z2kK$^8d+{5B{6S$b`glKsTLpK6@JU6v0Lt$69^_>!}PfH5(gktEnY{lGwt|F8Z4jMCaMEy$Sz-s90 zW4ITBIdhF2eJDH4{XG(FoUVp-)d~g6oS)wGGqc~NS$-0I0h29n4(-BTf3hV^!)I+Q zkRz2N9N4;i!f7$F*DN_qg#`MLPDfL;-lnaIJUgBP6xr{>-j(}$`uY2a17osY5P)BoXmMeZMZMWNd z_uWLy+#R@cerI0^^i5#ajws~zV3FqJ$#q|W)EdYmg#m=BTUE2tEmN>D?vcHEhU4b+a=2&?%sjpkBp`(brR`vW5wzk=UU tlO#gf!5YM31peQ;_t*ITn?%sR`2Xb3!J3Wz-#6%Q{r>XTU!4Si{{U*g=R5!a literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.4-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..deb9ff26acf1d5c07402a8b723bd58b8d6f6b369 GIT binary patch literal 2813 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.4-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..e022c531aeec9789dc1916e29720ec61ff3aa139 GIT binary patch literal 2661 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-with-ternary-condition-all.sol-0.6.5-legacy.zip new file mode 100644 index 0000000000000000000000000000000000000000..29a647016644e8db43ee7aa41836507cb333e1b1 GIT binary patch literal 2664 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