ソースを参照

Fix parser locations of expressions

The parser locations for unary and binary expression are inconsistent.
Often only the operator itself is included, and not operand(s). This is
causes incorrect diagnostics.

/home/sean/git/solang/tests/contract_testcases/substrate/arrays/array_dimensions.sol:3:21-22: error: zero size array not permitted
Line 3:
	bool[10 - 10] x;
	--------^

This is now fixed:

error: zero size array not permitted
  ┌─ /home/sean/git/solang/tests/contract_testcases/substrate/arrays/array_dimensions.sol:3:18
  │
3 │             bool[10 - 10] x;
  │                  ^^^^^^^

This issue was found by the Foundry work to create a formatter based on
the solang-parser, see https://discord.com/channels/900503503162724452/975868842125455390/976527889166135357

Signed-off-by: Sean Young <sean@mess.org>
Sean Young 3 年 前
コミット
c563162115
70 ファイル変更310 行追加310 行削除
  1. 36 36
      solang-parser/src/solidity.lalrpop
  2. 1 1
      solang-parser/src/test.rs
  3. 56 56
      tests/contract_testcases/ewasm/comment_tests.dot
  4. 2 2
      tests/contract_testcases/ewasm/interface_inheritance.dot
  5. 67 67
      tests/contract_testcases/ewasm/rubixi.dot
  6. 15 15
      tests/contract_testcases/ewasm/standalone_call.dot
  7. 6 6
      tests/contract_testcases/solana/address_member_call.dot
  8. 1 1
      tests/contract_testcases/solana/asm_reserved_words.dot
  9. 4 4
      tests/contract_testcases/solana/assign_array_in_array.dot
  10. 1 1
      tests/contract_testcases/solana/contract_var_base_function_init.dot
  11. 2 2
      tests/contract_testcases/solana/destructure_assign_struct_member.dot
  12. 6 6
      tests/contract_testcases/solana/doccomments_everywhere.dot
  13. 3 3
      tests/contract_testcases/solana/expressions/bytes32_0.dot
  14. 1 1
      tests/contract_testcases/solana/expressions/contract_compare.dot
  15. 2 2
      tests/contract_testcases/solana/expressions/contract_no_init.dot
  16. 2 2
      tests/contract_testcases/solana/for_if_no_else.dot
  17. 10 10
      tests/contract_testcases/solana/issues678.dot
  18. 1 1
      tests/contract_testcases/solana/negative_exponent.dot
  19. 2 2
      tests/contract_testcases/solana/power.dot
  20. 4 4
      tests/contract_testcases/solana/shift_struct_member.dot
  21. 3 3
      tests/contract_testcases/solana/simple.dot
  22. 1 1
      tests/contract_testcases/substrate/arrays/array_dimensions.dot
  23. 1 1
      tests/contract_testcases/substrate/arrays/array_dimensions_02.dot
  24. 1 1
      tests/contract_testcases/substrate/arrays/array_dimensions_03.dot
  25. 1 1
      tests/contract_testcases/substrate/arrays/array_dimensions_04.dot
  26. 6 6
      tests/contract_testcases/substrate/arrays/lucas.dot
  27. 1 1
      tests/contract_testcases/substrate/arrays/storage_delete_01.dot
  28. 1 1
      tests/contract_testcases/substrate/builtins/msg_01.dot
  29. 1 1
      tests/contract_testcases/substrate/contracts/external_call_02.dot
  30. 1 1
      tests/contract_testcases/substrate/contracts/external_call_03.dot
  31. 1 1
      tests/contract_testcases/substrate/expressions/power.dot
  32. 1 1
      tests/contract_testcases/substrate/expressions/power_01.dot
  33. 1 1
      tests/contract_testcases/substrate/expressions/power_02.dot
  34. 1 1
      tests/contract_testcases/substrate/expressions/test_cast_errors_02.dot
  35. 1 1
      tests/contract_testcases/substrate/functions/global_functions_08.dot
  36. 1 1
      tests/contract_testcases/substrate/functions/mutability_04.dot
  37. 1 1
      tests/contract_testcases/substrate/inheritance/base_contract.dot
  38. 1 1
      tests/contract_testcases/substrate/inheritance/base_contract_01.dot
  39. 1 1
      tests/contract_testcases/substrate/inheritance/base_contract_on_constructor_06.dot
  40. 1 1
      tests/contract_testcases/substrate/inheritance/base_contract_on_constructor_07.dot
  41. 1 1
      tests/contract_testcases/substrate/inheritance/base_contract_on_constructor_08.dot
  42. 1 1
      tests/contract_testcases/substrate/inheritance/call_inherited_function_01.dot
  43. 3 3
      tests/contract_testcases/substrate/inheritance/call_inherited_function_02.dot
  44. 4 4
      tests/contract_testcases/substrate/inheritance/cast_contract.dot
  45. 3 3
      tests/contract_testcases/substrate/inheritance/multiple_override.dot
  46. 3 3
      tests/contract_testcases/substrate/inheritance/multiple_override_01.dot
  47. 3 3
      tests/contract_testcases/substrate/inheritance/multiple_override_02.dot
  48. 3 3
      tests/contract_testcases/substrate/inheritance/multiple_override_03.dot
  49. 3 3
      tests/contract_testcases/substrate/inheritance/multiple_override_04.dot
  50. 4 4
      tests/contract_testcases/substrate/inheritance/multiple_override_05.dot
  51. 4 4
      tests/contract_testcases/substrate/inheritance/multiple_override_06.dot
  52. 1 1
      tests/contract_testcases/substrate/inheritance/simple_interface.dot
  53. 1 1
      tests/contract_testcases/substrate/inheritance/test_override_01.dot
  54. 1 1
      tests/contract_testcases/substrate/inheritance/test_override_02.dot
  55. 1 1
      tests/contract_testcases/substrate/inheritance/test_override_03.dot
  56. 2 2
      tests/contract_testcases/substrate/inheritance/test_override_04.dot
  57. 2 2
      tests/contract_testcases/substrate/inheritance/test_override_05.dot
  58. 2 2
      tests/contract_testcases/substrate/libraries/using_02.dot
  59. 2 2
      tests/contract_testcases/substrate/libraries/using_03.dot
  60. 2 2
      tests/contract_testcases/substrate/libraries/using_04.dot
  61. 2 2
      tests/contract_testcases/substrate/libraries/using_05.dot
  62. 2 2
      tests/contract_testcases/substrate/libraries/using_06.dot
  63. 1 1
      tests/contract_testcases/substrate/primitives/address_06.dot
  64. 2 2
      tests/contract_testcases/substrate/primitives/address_payable_type_01.dot
  65. 2 2
      tests/contract_testcases/substrate/value/external_call_value_10.dot
  66. 2 2
      tests/contract_testcases/substrate/value/external_call_value_11.dot
  67. 1 1
      tests/contract_testcases/substrate/variables/immutable_01.dot
  68. 1 1
      tests/contract_testcases/substrate/variables/test_variable_initializer_errors_02.dot
  69. 1 1
      tests/contract_testcases/substrate/variables/test_variable_initializer_errors_03.dot
  70. 1 1
      tests/contract_testcases/substrate/variables/test_variable_initializer_errors_04.dot

+ 36 - 36
solang-parser/src/solidity.lalrpop

@@ -273,91 +273,91 @@ Expression: Expression = {
 }
 
 Precedence14: Expression = {
-    <l:Precedence13> <a:@L> "=" <b:@R> <r:Precedence14> => Expression::Assign(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
-    <l:Precedence13> <a:@L> "|=" <b:@R> <r:Precedence14> => Expression::AssignOr(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
-    <l:Precedence13> <a:@L> "^=" <b:@R> <r:Precedence14> => Expression::AssignXor(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
-    <l:Precedence13> <a:@L> "&=" <b:@R> <r:Precedence14> => Expression::AssignAnd(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
-    <l:Precedence13> <a:@L> "<<=" <b:@R> <r:Precedence14> => Expression::AssignShiftLeft(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
-    <l:Precedence13> <a:@L> ">>=" <b:@R> <r:Precedence14> => Expression::AssignShiftRight(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
-    <l:Precedence13> <a:@L> "+=" <b:@R> <r:Precedence14> => Expression::AssignAdd(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
-    <l:Precedence13> <a:@L> "-=" <b:@R> <r:Precedence14> => Expression::AssignSubtract(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
-    <l:Precedence13> <a:@L> "*=" <b:@R> <r:Precedence14> => Expression::AssignMultiply(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
-    <l:Precedence13> <a:@L> "/=" <b:@R> <r:Precedence14> => Expression::AssignDivide(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
-    <l:Precedence13> <a:@L> "%=" <b:@R> <r:Precedence14> => Expression::AssignModulo(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
-    <c:Precedence13> <a:@L> "?" <l:Precedence14> ":" <b:@R> <r:Precedence14> => Expression::Ternary(Loc::File(file_no, a, b), Box::new(c), Box::new(l), Box::new(r)),
+    <a:@L> <l:Precedence13> "=" <r:Precedence14> <b:@R> => Expression::Assign(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
+    <a:@L> <l:Precedence13> "|=" <r:Precedence14> <b:@R> => Expression::AssignOr(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
+    <a:@L> <l:Precedence13> "^=" <r:Precedence14> <b:@R> => Expression::AssignXor(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
+    <a:@L> <l:Precedence13> "&=" <r:Precedence14> <b:@R> => Expression::AssignAnd(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
+    <a:@L> <l:Precedence13> "<<=" <r:Precedence14> <b:@R> => Expression::AssignShiftLeft(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
+    <a:@L> <l:Precedence13> ">>=" <r:Precedence14> <b:@R> => Expression::AssignShiftRight(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
+    <a:@L> <l:Precedence13> "+=" <r:Precedence14> <b:@R> => Expression::AssignAdd(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
+    <a:@L> <l:Precedence13> "-=" <r:Precedence14> <b:@R> => Expression::AssignSubtract(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
+    <a:@L> <l:Precedence13> "*=" <r:Precedence14> <b:@R> => Expression::AssignMultiply(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
+    <a:@L> <l:Precedence13> "/=" <r:Precedence14> <b:@R> => Expression::AssignDivide(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
+    <a:@L> <l:Precedence13> "%=" <r:Precedence14> <b:@R> => Expression::AssignModulo(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
+    <a:@L> <c:Precedence13> "?" <l:Precedence14> ":" <r:Precedence14> <b:@R> => Expression::Ternary(Loc::File(file_no, a, b), Box::new(c), Box::new(l), Box::new(r)),
     Precedence13,
 }
 
 Precedence13: Expression = {
-    <l:Precedence13> <a:@L> "||" <b:@R> <r:Precedence12> => Expression::Or(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
+    <a:@L> <l:Precedence13> "||" <r:Precedence12> <b:@R> => Expression::Or(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
     Precedence12,
 }
 
 Precedence12: Expression = {
-    <l:Precedence12> <a:@L> "&&" <b:@R> <r:Precedence11> => Expression::And(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
+    <a:@L> <l:Precedence12> "&&" <r:Precedence11> <b:@R> => Expression::And(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
     Precedence11,
 }
 
 Precedence11: Expression = {
-    <l:Precedence11> <a:@L> "==" <b:@R> <r:Precedence10> => Expression::Equal(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
-    <l:Precedence11> <a:@L> "!=" <b:@R> <r:Precedence10> => Expression::NotEqual(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
+    <a:@L> <l:Precedence11> "==" <r:Precedence10> <b:@R> => Expression::Equal(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
+    <a:@L> <l:Precedence11> "!=" <r:Precedence10> <b:@R> => Expression::NotEqual(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
     Precedence10,
 }
 
 Precedence10: Expression = {
-    <l:Precedence10> <a:@L> "<" <b:@R> <r:Precedence9> => Expression::Less(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
-    <l:Precedence10> <a:@L> ">" <b:@R> <r:Precedence9> => Expression::More(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
-    <l:Precedence10> <a:@L> "<=" <b:@R> <r:Precedence9> => Expression::LessEqual(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
-    <l:Precedence10> <a:@L> ">=" <b:@R> <r:Precedence9> => Expression::MoreEqual(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
+    <a:@L> <l:Precedence10> "<" <r:Precedence9> <b:@R> => Expression::Less(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
+    <a:@L> <l:Precedence10> ">" <r:Precedence9> <b:@R> => Expression::More(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
+    <a:@L> <l:Precedence10> "<=" <r:Precedence9> <b:@R> => Expression::LessEqual(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
+    <a:@L> <l:Precedence10> ">=" <r:Precedence9> <b:@R> => Expression::MoreEqual(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
     Precedence9,
 }
 
 Precedence9: Expression = {
-    <l:Precedence9> <a:@L> "|" <b:@R> <r:Precedence8> => Expression::BitwiseOr(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
+    <a:@L> <l:Precedence9> "|" <r:Precedence8> <b:@R> => Expression::BitwiseOr(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
     Precedence8,
 }
 
 Precedence8: Expression = {
-    <l:Precedence8> <a:@L> "^" <b:@R> <r:Precedence7> => Expression::BitwiseXor(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
+    <a:@L> <l:Precedence8> "^" <r:Precedence7> <b:@R> => Expression::BitwiseXor(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
     Precedence7,
 }
 
 Precedence7: Expression = {
-    <l:Precedence7> <a:@L> "&" <b:@R> <r:Precedence6> => Expression::BitwiseAnd(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
+    <a:@L> <l:Precedence7> "&" <r:Precedence6> <b:@R> => Expression::BitwiseAnd(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
     Precedence6,
 }
 
 Precedence6: Expression = {
-    <l:Precedence6> <a:@L> "<<" <b:@R> <r:Precedence5> => Expression::ShiftLeft(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
-    <l:Precedence6> <a:@L> ">>" <b:@R> <r:Precedence5> => Expression::ShiftRight(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
+    <a:@L> <l:Precedence6> "<<" <r:Precedence5> <b:@R> => Expression::ShiftLeft(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
+    <a:@L> <l:Precedence6> ">>" <r:Precedence5> <b:@R> => Expression::ShiftRight(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
     Precedence5,
 }
 
 Precedence5: Expression = {
-    <l:Precedence5> <a:@L> "+" <b:@R> <r:Precedence4> => Expression::Add(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
-    <l:Precedence5> <a:@L> "-" <b:@R> <r:Precedence4> => Expression::Subtract(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
+    <a:@L> <l:Precedence5> "+" <r:Precedence4> <b:@R> => Expression::Add(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
+    <a:@L> <l:Precedence5> "-" <r:Precedence4> <b:@R> => Expression::Subtract(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
     Precedence4,
 }
 
 Precedence4: Expression = {
-    <l:Precedence4> <a:@L> "*" <b:@R> <r:Precedence3> => Expression::Multiply(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
-    <l:Precedence4> <a:@L> "/" <b:@R> <r:Precedence3> => Expression::Divide(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
-    <l:Precedence4> <a:@L> "%" <b:@R> <r:Precedence3> => Expression::Modulo(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
+    <a:@L> <l:Precedence4> "*" <r:Precedence3> <b:@R> => Expression::Multiply(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
+    <a:@L> <l:Precedence4> "/" <r:Precedence3> <b:@R> => Expression::Divide(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
+    <a:@L> <l:Precedence4> "%" <r:Precedence3> <b:@R> => Expression::Modulo(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
     Precedence3,
 }
 
 Precedence3: Expression = {
-    <l:Precedence2> <a:@L> "**" <b:@R> <r:Precedence3> => Expression::Power(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
+    <a:@L> <l:Precedence2> "**" <r:Precedence3> <b:@R> => Expression::Power(Loc::File(file_no, a, b), Box::new(l), Box::new(r)),
     Precedence2,
 }
 
 Precedence2: Expression = {
-    <a:@L> "!" <b:@R> <e:Precedence2> => Expression::Not(Loc::File(file_no, a, b), Box::new(e)),
-    <a:@L> "~" <b:@R> <e:Precedence2> => Expression::Complement(Loc::File(file_no, a, b), Box::new(e)),
-    <a:@L> "delete" <b:@R> <e:Precedence2> => Expression::Delete(Loc::File(file_no, a, b), Box::new(e)),
+    <a:@L> "!" <e:Precedence2> <b:@R> => Expression::Not(Loc::File(file_no, a, b), Box::new(e)),
+    <a:@L> "~" <e:Precedence2> <b:@R> => Expression::Complement(Loc::File(file_no, a, b), Box::new(e)),
+    <a:@L> "delete" <e:Precedence2> <b:@R>  => Expression::Delete(Loc::File(file_no, a, b), Box::new(e)),
     <a:@L> "new" <call:Precedence2> <b:@R> => Expression::New(Loc::File(file_no, a, b), Box::new(call)),
-    <a:@L> "++" <b:@R> <e:Precedence2> => Expression::PreIncrement(Loc::File(file_no, a, b), Box::new(e)),
-    <a:@L> "--" <b:@R> <e:Precedence2> => Expression::PreDecrement(Loc::File(file_no, a, b), Box::new(e)),
+    <a:@L> "++" <e:Precedence2> <b:@R> => Expression::PreIncrement(Loc::File(file_no, a, b), Box::new(e)),
+    <a:@L> "--" <e:Precedence2> <b:@R> => Expression::PreDecrement(Loc::File(file_no, a, b), Box::new(e)),
     <a:@L> "+" <e:Precedence2> <b:@R>  => Expression::UnaryPlus(Loc::File(file_no, a, b), Box::new(e)),
     <a:@L> "-" <e:Precedence2> <b:@R> => Expression::UnaryMinus(Loc::File(file_no, a, b), Box::new(e)),
     <l:@L> "error" <r:@R> => Expression::Variable(Identifier{loc: Loc::File(file_no, l, r), name: "error".to_string()}),

+ 1 - 1
solang-parser/src/test.rs

@@ -182,7 +182,7 @@ fn parse_test() {
                                         name: "assert".to_string(),
                                     })),
                                     vec![Expression::Equal(
-                                        Loc::File(0, 827, 829),
+                                        Loc::File(0, 823, 831),
                                         Box::new(Expression::Variable(Identifier {
                                             loc: Loc::File(0, 823, 826),
                                             name: "sum".to_string(),

+ 56 - 56
tests/contract_testcases/ewasm/comment_tests.dot

@@ -26,12 +26,12 @@ strict digraph "tests/contract_testcases/ewasm/comment_tests.sol" {
 	parameters_26 [label="parameters\nuint256 a\nuint256 b"]
 	returns_27 [label="returns\nuint256 "]
 	var_decl [label="variable decl uint256 c\ntests/contract_testcases/ewasm/comment_tests.sol:75:9-26"]
-	add_29 [label="add\nuint256\ntests/contract_testcases/ewasm/comment_tests.sol:75:23-24"]
+	add_29 [label="add\nuint256\ntests/contract_testcases/ewasm/comment_tests.sol:75:21-26"]
 	variable [label="variable: a\nuint256\ntests/contract_testcases/ewasm/comment_tests.sol:75:21-22"]
 	variable_31 [label="variable: b\nuint256\ntests/contract_testcases/ewasm/comment_tests.sol:75:25-26"]
 	expr [label="expression\ntests/contract_testcases/ewasm/comment_tests.sol:76:9-55"]
 	builtins [label="builtin Require\ntests/contract_testcases/ewasm/comment_tests.sol:76:9-16"]
-	more_equal [label="more equal\ntests/contract_testcases/ewasm/comment_tests.sol:76:19-21"]
+	more_equal [label="more equal\ntests/contract_testcases/ewasm/comment_tests.sol:76:17-23"]
 	variable_35 [label="variable: c\nuint256\ntests/contract_testcases/ewasm/comment_tests.sol:76:17-18"]
 	variable_36 [label="variable: a\nuint256\ntests/contract_testcases/ewasm/comment_tests.sol:76:22-23"]
 	alloc_array [label="alloc array string\ninitializer: 536166654d6174683a206164646974696f6e206f766572666c6f77\ntests/contract_testcases/ewasm/comment_tests.sol:76:25-54"]
@@ -53,12 +53,12 @@ strict digraph "tests/contract_testcases/ewasm/comment_tests.sol" {
 	returns_53 [label="returns\nuint256 "]
 	expr_54 [label="expression\ntests/contract_testcases/ewasm/comment_tests.sol:94:9-38"]
 	builtins_55 [label="builtin Require\ntests/contract_testcases/ewasm/comment_tests.sol:94:9-16"]
-	less_equal [label="less equal\ntests/contract_testcases/ewasm/comment_tests.sol:94:19-21"]
+	less_equal [label="less equal\ntests/contract_testcases/ewasm/comment_tests.sol:94:17-23"]
 	variable_57 [label="variable: b\nuint256\ntests/contract_testcases/ewasm/comment_tests.sol:94:17-18"]
 	variable_58 [label="variable: a\nuint256\ntests/contract_testcases/ewasm/comment_tests.sol:94:22-23"]
 	variable_59 [label="variable: errorMessage\nstring\ntests/contract_testcases/ewasm/comment_tests.sol:94:25-37"]
 	var_decl_60 [label="variable decl uint256 c\ntests/contract_testcases/ewasm/comment_tests.sol:95:9-26"]
-	subtract [label="subtract\nuint256\ntests/contract_testcases/ewasm/comment_tests.sol:95:23-24"]
+	subtract [label="subtract\nuint256\ntests/contract_testcases/ewasm/comment_tests.sol:95:21-26"]
 	variable_62 [label="variable: a\nuint256\ntests/contract_testcases/ewasm/comment_tests.sol:95:21-22"]
 	variable_63 [label="variable: b\nuint256\ntests/contract_testcases/ewasm/comment_tests.sol:95:25-26"]
 	return_64 [label="return\ntests/contract_testcases/ewasm/comment_tests.sol:97:9-17"]
@@ -67,19 +67,19 @@ strict digraph "tests/contract_testcases/ewasm/comment_tests.sol" {
 	parameters_67 [label="parameters\nuint256 a\nuint256 b"]
 	returns_68 [label="returns\nuint256 "]
 	if [label="if\ntests/contract_testcases/ewasm/comment_tests.sol:105:9-107:10"]
-	equal [label="equal\ntests/contract_testcases/ewasm/comment_tests.sol:105:15-17"]
+	equal [label="equal\ntests/contract_testcases/ewasm/comment_tests.sol:105:13-19"]
 	variable_71 [label="variable: a\nuint256\ntests/contract_testcases/ewasm/comment_tests.sol:105:13-14"]
 	number_literal_72 [label="uint256 literal: 0\ntests/contract_testcases/ewasm/comment_tests.sol:105:18-19"]
 	return_73 [label="return\ntests/contract_testcases/ewasm/comment_tests.sol:106:13-21"]
 	number_literal_74 [label="uint256 literal: 0\ntests/contract_testcases/ewasm/comment_tests.sol:106:20-21"]
 	var_decl_75 [label="variable decl uint256 c\ntests/contract_testcases/ewasm/comment_tests.sol:109:9-26"]
-	multiply [label="multiply\nuint256\ntests/contract_testcases/ewasm/comment_tests.sol:109:23-24"]
+	multiply [label="multiply\nuint256\ntests/contract_testcases/ewasm/comment_tests.sol:109:21-26"]
 	variable_77 [label="variable: a\nuint256\ntests/contract_testcases/ewasm/comment_tests.sol:109:21-22"]
 	variable_78 [label="variable: b\nuint256\ntests/contract_testcases/ewasm/comment_tests.sol:109:25-26"]
 	expr_79 [label="expression\ntests/contract_testcases/ewasm/comment_tests.sol:110:9-72"]
 	builtins_80 [label="builtin Require\ntests/contract_testcases/ewasm/comment_tests.sol:110:9-16"]
-	equal_81 [label="equal\ntests/contract_testcases/ewasm/comment_tests.sol:110:23-25"]
-	divide [label="divide\nuint256\ntests/contract_testcases/ewasm/comment_tests.sol:110:19-20"]
+	equal_81 [label="equal\ntests/contract_testcases/ewasm/comment_tests.sol:110:17-27"]
+	divide [label="divide\nuint256\ntests/contract_testcases/ewasm/comment_tests.sol:110:17-22"]
 	variable_83 [label="variable: c\nuint256\ntests/contract_testcases/ewasm/comment_tests.sol:110:17-18"]
 	variable_84 [label="variable: a\nuint256\ntests/contract_testcases/ewasm/comment_tests.sol:110:21-22"]
 	variable_85 [label="variable: b\nuint256\ntests/contract_testcases/ewasm/comment_tests.sol:110:26-27"]
@@ -102,12 +102,12 @@ strict digraph "tests/contract_testcases/ewasm/comment_tests.sol" {
 	returns_102 [label="returns\nuint256 "]
 	expr_103 [label="expression\ntests/contract_testcases/ewasm/comment_tests.sol:128:9-37"]
 	builtins_104 [label="builtin Require\ntests/contract_testcases/ewasm/comment_tests.sol:128:9-16"]
-	more [label="more\ntests/contract_testcases/ewasm/comment_tests.sol:128:19-20"]
+	more [label="more\ntests/contract_testcases/ewasm/comment_tests.sol:128:17-22"]
 	variable_106 [label="variable: b\nuint256\ntests/contract_testcases/ewasm/comment_tests.sol:128:17-18"]
 	number_literal_107 [label="uint256 literal: 0\ntests/contract_testcases/ewasm/comment_tests.sol:128:21-22"]
 	variable_108 [label="variable: errorMessage\nstring\ntests/contract_testcases/ewasm/comment_tests.sol:128:24-36"]
 	var_decl_109 [label="variable decl uint256 c\ntests/contract_testcases/ewasm/comment_tests.sol:129:9-26"]
-	divide_110 [label="divide\nuint256\ntests/contract_testcases/ewasm/comment_tests.sol:129:23-24"]
+	divide_110 [label="divide\nuint256\ntests/contract_testcases/ewasm/comment_tests.sol:129:21-26"]
 	variable_111 [label="variable: a\nuint256\ntests/contract_testcases/ewasm/comment_tests.sol:129:21-22"]
 	variable_112 [label="variable: b\nuint256\ntests/contract_testcases/ewasm/comment_tests.sol:129:25-26"]
 	return_113 [label="return\ntests/contract_testcases/ewasm/comment_tests.sol:132:9-17"]
@@ -127,13 +127,13 @@ strict digraph "tests/contract_testcases/ewasm/comment_tests.sol" {
 	returns_127 [label="returns\nuint256 "]
 	expr_128 [label="expression\ntests/contract_testcases/ewasm/comment_tests.sol:148:9-38"]
 	builtins_129 [label="builtin Require\ntests/contract_testcases/ewasm/comment_tests.sol:148:9-16"]
-	not [label="not\ntests/contract_testcases/ewasm/comment_tests.sol:148:19-21"]
-	equal_131 [label="equal\ntests/contract_testcases/ewasm/comment_tests.sol:148:19-21"]
+	not [label="not\ntests/contract_testcases/ewasm/comment_tests.sol:148:17-23"]
+	equal_131 [label="equal\ntests/contract_testcases/ewasm/comment_tests.sol:148:17-23"]
 	variable_132 [label="variable: b\nuint256\ntests/contract_testcases/ewasm/comment_tests.sol:148:17-18"]
 	number_literal_133 [label="uint256 literal: 0\ntests/contract_testcases/ewasm/comment_tests.sol:148:22-23"]
 	variable_134 [label="variable: errorMessage\nstring\ntests/contract_testcases/ewasm/comment_tests.sol:148:25-37"]
 	return_135 [label="return\ntests/contract_testcases/ewasm/comment_tests.sol:149:9-21"]
-	modulo [label="modulo\nuint256\ntests/contract_testcases/ewasm/comment_tests.sol:149:18-19"]
+	modulo [label="modulo\nuint256\ntests/contract_testcases/ewasm/comment_tests.sol:149:16-21"]
 	variable_137 [label="variable: a\nuint256\ntests/contract_testcases/ewasm/comment_tests.sol:149:16-17"]
 	variable_138 [label="variable: b\nuint256\ntests/contract_testcases/ewasm/comment_tests.sol:149:20-21"]
 	contract_139 [label="contract Context\ntests/contract_testcases/ewasm/comment_tests.sol:152:1-153:27"]
@@ -160,20 +160,20 @@ strict digraph "tests/contract_testcases/ewasm/comment_tests.sol" {
 	yul_builtin_call [label="yul builtin call 'extcodehash'\ntests/contract_testcases/ewasm/comment_tests.sol:182:25-45"]
 	solidity_variable_161 [label="solidity variable: account\naddress\ntests/contract_testcases/ewasm/comment_tests.sol:182:37-44"]
 	return_162 [label="return\ntests/contract_testcases/ewasm/comment_tests.sol:184:9-60"]
-	logical_and [label="logical and\ntests/contract_testcases/ewasm/comment_tests.sol:184:41-43"]
-	not_164 [label="not\ntests/contract_testcases/ewasm/comment_tests.sol:184:26-28"]
-	equal_165 [label="equal\ntests/contract_testcases/ewasm/comment_tests.sol:184:26-28"]
+	logical_and [label="logical and\ntests/contract_testcases/ewasm/comment_tests.sol:184:17-59"]
+	not_164 [label="not\ntests/contract_testcases/ewasm/comment_tests.sol:184:17-40"]
+	equal_165 [label="equal\ntests/contract_testcases/ewasm/comment_tests.sol:184:17-40"]
 	variable_166 [label="variable: codehash\nbytes32\ntests/contract_testcases/ewasm/comment_tests.sol:184:17-25"]
 	variable_167 [label="variable: accountHash\nbytes32\ntests/contract_testcases/ewasm/comment_tests.sol:184:29-40"]
-	not_168 [label="not\ntests/contract_testcases/ewasm/comment_tests.sol:184:53-55"]
-	equal_169 [label="equal\ntests/contract_testcases/ewasm/comment_tests.sol:184:53-55"]
+	not_168 [label="not\ntests/contract_testcases/ewasm/comment_tests.sol:184:44-59"]
+	equal_169 [label="equal\ntests/contract_testcases/ewasm/comment_tests.sol:184:44-59"]
 	variable_170 [label="variable: codehash\nbytes32\ntests/contract_testcases/ewasm/comment_tests.sol:184:44-52"]
 	number_literal_171 [label="bytes32 literal: 0\ntests/contract_testcases/ewasm/comment_tests.sol:184:56-59"]
 	sendValue [label="function sendValue\ncontract: Address\ntests/contract_testcases/ewasm/comment_tests.sol:188:5-75\nsignature sendValue(address,uint256)\nvisibility internal\nmutability nonpayable"]
 	parameters_173 [label="parameters\naddress payable recipient\nuint256 amount"]
 	expr_174 [label="expression\ntests/contract_testcases/ewasm/comment_tests.sol:189:9-192:10"]
 	builtins_175 [label="builtin Require\ntests/contract_testcases/ewasm/comment_tests.sol:189:9-16"]
-	more_equal_176 [label="more equal\ntests/contract_testcases/ewasm/comment_tests.sol:190:35-37"]
+	more_equal_176 [label="more equal\ntests/contract_testcases/ewasm/comment_tests.sol:190:13-44"]
 	sign_ext [label="sign extend uint256\ntests/contract_testcases/ewasm/comment_tests.sol:190:13-34"]
 	builtins_178 [label="builtin Balance\ntests/contract_testcases/ewasm/comment_tests.sol:190:13-34"]
 	cast [label="cast address\ntests/contract_testcases/ewasm/comment_tests.sol:190:13-26"]
@@ -231,7 +231,7 @@ strict digraph "tests/contract_testcases/ewasm/comment_tests.sol" {
 	returns_231 [label="returns\nbytes "]
 	expr_232 [label="expression\ntests/contract_testcases/ewasm/comment_tests.sol:255:9-258:10"]
 	builtins_233 [label="builtin Require\ntests/contract_testcases/ewasm/comment_tests.sol:255:9-16"]
-	more_equal_234 [label="more equal\ntests/contract_testcases/ewasm/comment_tests.sol:256:35-37"]
+	more_equal_234 [label="more equal\ntests/contract_testcases/ewasm/comment_tests.sol:256:13-43"]
 	sign_ext_235 [label="sign extend uint256\ntests/contract_testcases/ewasm/comment_tests.sol:256:13-34"]
 	builtins_236 [label="builtin Balance\ntests/contract_testcases/ewasm/comment_tests.sol:256:13-34"]
 	cast_237 [label="cast address\ntests/contract_testcases/ewasm/comment_tests.sol:256:13-26"]
@@ -269,7 +269,7 @@ strict digraph "tests/contract_testcases/ewasm/comment_tests.sol" {
 	return_269 [label="return\ntests/contract_testcases/ewasm/comment_tests.sol:282:13-30"]
 	variable_270 [label="variable: returndata\nbytes\ntests/contract_testcases/ewasm/comment_tests.sol:282:20-30"]
 	if_271 [label="if\ntests/contract_testcases/ewasm/comment_tests.sol:285:13-295:14"]
-	more_272 [label="more\ntests/contract_testcases/ewasm/comment_tests.sol:285:35-36"]
+	more_272 [label="more\ntests/contract_testcases/ewasm/comment_tests.sol:285:17-38"]
 	builtins_273 [label="builtin ArrayLength\ntests/contract_testcases/ewasm/comment_tests.sol:285:17-34"]
 	variable_274 [label="variable: returndata\nbytes\ntests/contract_testcases/ewasm/comment_tests.sol:285:17-27"]
 	number_literal_275 [label="uint32 literal: 0\ntests/contract_testcases/ewasm/comment_tests.sol:285:37-38"]
@@ -312,7 +312,7 @@ strict digraph "tests/contract_testcases/ewasm/comment_tests.sol" {
 	onlyOwner [label="modifier onlyOwner\ncontract: Ownable\ntests/contract_testcases/ewasm/comment_tests.sol:336:5-26\nmutability nonpayable"]
 	expr_313 [label="expression\ntests/contract_testcases/ewasm/comment_tests.sol:337:9-76"]
 	builtins_314 [label="builtin Require\ntests/contract_testcases/ewasm/comment_tests.sol:337:9-16"]
-	equal_315 [label="equal\ntests/contract_testcases/ewasm/comment_tests.sol:337:24-26"]
+	equal_315 [label="equal\ntests/contract_testcases/ewasm/comment_tests.sol:337:17-39"]
 	storage_load_316 [label="storage load address\ntests/contract_testcases/ewasm/comment_tests.sol:337:17-23"]
 	storage_var_317 [label="storage variable\nOwnable._owner\naddress storage\ntests/contract_testcases/ewasm/comment_tests.sol:337:17-23"]
 	cast_318 [label="cast address\ntests/contract_testcases/ewasm/comment_tests.sol:337:27-39"]
@@ -324,7 +324,7 @@ strict digraph "tests/contract_testcases/ewasm/comment_tests.sol" {
 	onlyOwners [label="modifier onlyOwners\ncontract: Ownable\ntests/contract_testcases/ewasm/comment_tests.sol:343:9-346:5\nmutability nonpayable"]
 	expr_325 [label="expression\ntests/contract_testcases/ewasm/comment_tests.sol:347:9-40"]
 	builtins_326 [label="builtin Require\ntests/contract_testcases/ewasm/comment_tests.sol:347:9-16"]
-	equal_327 [label="equal\ntests/contract_testcases/ewasm/comment_tests.sol:347:24-26"]
+	equal_327 [label="equal\ntests/contract_testcases/ewasm/comment_tests.sol:347:17-39"]
 	storage_load_328 [label="storage load address\ntests/contract_testcases/ewasm/comment_tests.sol:347:17-23"]
 	storage_var_329 [label="storage variable\nOwnable.owners\naddress storage\ntests/contract_testcases/ewasm/comment_tests.sol:347:17-23"]
 	cast_330 [label="cast address\ntests/contract_testcases/ewasm/comment_tests.sol:347:27-39"]
@@ -335,7 +335,7 @@ strict digraph "tests/contract_testcases/ewasm/comment_tests.sol" {
 	parameters_335 [label="parameters\naddress amm\naddress fct"]
 	expr_336 [label="expression\ntests/contract_testcases/ewasm/comment_tests.sol:354:13-41"]
 	builtins_337 [label="builtin Require\ntests/contract_testcases/ewasm/comment_tests.sol:354:13-20"]
-	equal_338 [label="equal\ntests/contract_testcases/ewasm/comment_tests.sol:354:24-26"]
+	equal_338 [label="equal\ntests/contract_testcases/ewasm/comment_tests.sol:354:21-36"]
 	variable_339 [label="variable: fct\naddress\ntests/contract_testcases/ewasm/comment_tests.sol:354:21-24"]
 	number_literal_340 [label="address literal: 0\ntests/contract_testcases/ewasm/comment_tests.sol:354:26-36"]
 	alloc_array_341 [label="alloc array string\ninitializer: 2e\ntests/contract_testcases/ewasm/comment_tests.sol:354:37-40"]
@@ -360,12 +360,12 @@ strict digraph "tests/contract_testcases/ewasm/comment_tests.sol" {
 	var_360 [label="variable _isExcludedFromF\nvisibility private\ntests/contract_testcases/ewasm/comment_tests.sol:385:9-66"]
 	var_361 [label="variable _isExcluded\nvisibility private\ntests/contract_testcases/ewasm/comment_tests.sol:386:9-61"]
 	var_362 [label="variable MAX\nvisibility private\nconstant\ntests/contract_testcases/ewasm/comment_tests.sol:390:9-51"]
-	complement [label="complement uint256\ntests/contract_testcases/ewasm/comment_tests.sol:390:40-41"]
+	complement [label="complement uint256\ntests/contract_testcases/ewasm/comment_tests.sol:390:40-51"]
 	number_literal_364 [label="uint256 literal: 0\ntests/contract_testcases/ewasm/comment_tests.sol:390:41-51"]
 	var_365 [label="variable _Ttotal\nvisibility private\ntests/contract_testcases/ewasm/comment_tests.sol:391:9-60"]
-	multiply_366 [label="multiply\nuint256\ntests/contract_testcases/ewasm/comment_tests.sol:391:53-54"]
+	multiply_366 [label="multiply\nuint256\ntests/contract_testcases/ewasm/comment_tests.sol:391:35-60"]
 	number_literal_367 [label="uint256 literal: 10000000000000000\ntests/contract_testcases/ewasm/comment_tests.sol:391:35-52"]
-	power [label="power\nuint256\ntests/contract_testcases/ewasm/comment_tests.sol:391:57-59"]
+	power [label="power\nuint256\ntests/contract_testcases/ewasm/comment_tests.sol:391:55-60"]
 	number_literal_369 [label="uint256 literal: 10\ntests/contract_testcases/ewasm/comment_tests.sol:391:55-57"]
 	number_literal_370 [label="uint256 literal: 9\ntests/contract_testcases/ewasm/comment_tests.sol:391:59-60"]
 	var_371 [label="variable deadF\nvisibility private\ntests/contract_testcases/ewasm/comment_tests.sol:400:5-30"]
@@ -394,7 +394,7 @@ strict digraph "tests/contract_testcases/ewasm/comment_tests.sol" {
 	call_internal_function_394 [label="call internal function\ntests/contract_testcases/ewasm/comment_tests.sol:419:31-47"]
 	internal_function_395 [label="function() internal view returns (address payable)\nsignature _msgSender()\nContext._msgSender\ntests/contract_testcases/ewasm/comment_tests.sol:419:31-47"]
 	expr_396 [label="expression\ntests/contract_testcases/ewasm/comment_tests.sol:420:13-56"]
-	assign_397 [label="assign\nuint256 storage\ntests/contract_testcases/ewasm/comment_tests.sol:420:43-44"]
+	assign_397 [label="assign\nuint256 storage\ntests/contract_testcases/ewasm/comment_tests.sol:420:13-56"]
 	subscript [label="subscript mapping(address => uint256) storage\ntests/contract_testcases/ewasm/comment_tests.sol:420:13-38"]
 	storage_var_399 [label="storage variable\nTigerBNB._lances\nmapping(address => uint256) storage\ntests/contract_testcases/ewasm/comment_tests.sol:420:13-20"]
 	cast_400 [label="cast address\ntests/contract_testcases/ewasm/comment_tests.sol:420:25-37"]
@@ -417,14 +417,14 @@ strict digraph "tests/contract_testcases/ewasm/comment_tests.sol" {
 	alloc_array_417 [label="alloc array string\ninitializer: 5469676572424e42\ntests/contract_testcases/ewasm/comment_tests.sol:424:31-41"]
 	number_literal_418 [label="uint32 literal: 8\ntests/contract_testcases/ewasm/comment_tests.sol:424:31-41"]
 	expr_419 [label="expression\ntests/contract_testcases/ewasm/comment_tests.sol:425:9-41"]
-	assign_420 [label="assign\nbool storage\ntests/contract_testcases/ewasm/comment_tests.sol:425:35-36"]
+	assign_420 [label="assign\nbool storage\ntests/contract_testcases/ewasm/comment_tests.sol:425:9-41"]
 	subscript_421 [label="subscript mapping(address => bool) storage\ntests/contract_testcases/ewasm/comment_tests.sol:425:9-34"]
 	storage_var_422 [label="storage variable\nTigerBNB._isExcludedFromF\nmapping(address => bool) storage\ntests/contract_testcases/ewasm/comment_tests.sol:425:9-25"]
 	call_internal_function_423 [label="call internal function\ntests/contract_testcases/ewasm/comment_tests.sol:425:26-33"]
 	internal_function_424 [label="function() internal view returns (address)\nOwnable.owner\ntests/contract_testcases/ewasm/comment_tests.sol:425:26-33"]
 	bool_literal_425 [label="bool literal: true\ntests/contract_testcases/ewasm/comment_tests.sol:425:37-41"]
 	expr_426 [label="expression\ntests/contract_testcases/ewasm/comment_tests.sol:426:9-47"]
-	assign_427 [label="assign\nbool storage\ntests/contract_testcases/ewasm/comment_tests.sol:426:41-42"]
+	assign_427 [label="assign\nbool storage\ntests/contract_testcases/ewasm/comment_tests.sol:426:9-47"]
 	subscript_428 [label="subscript mapping(address => bool) storage\ntests/contract_testcases/ewasm/comment_tests.sol:426:9-40"]
 	storage_var_429 [label="storage variable\nTigerBNB._isExcludedFromF\nmapping(address => bool) storage\ntests/contract_testcases/ewasm/comment_tests.sol:426:9-25"]
 	cast_430 [label="cast address\ntests/contract_testcases/ewasm/comment_tests.sol:426:26-39"]
@@ -469,14 +469,14 @@ strict digraph "tests/contract_testcases/ewasm/comment_tests.sol" {
 	parameters_469 [label="parameters\naddress recipient\nuint256 amount"]
 	returns_470 [label="returns\nbool "]
 	if_471 [label="if\ntests/contract_testcases/ewasm/comment_tests.sol:485:13-488:10"]
-	logical_or [label="logical or\ntests/contract_testcases/ewasm/comment_tests.sol:485:67-69"]
-	storage_load_473 [label="storage load bool\ntests/contract_testcases/ewasm/comment_tests.sol:485:67-69"]
+	logical_or [label="logical or\ntests/contract_testcases/ewasm/comment_tests.sol:485:24-113"]
+	storage_load_473 [label="storage load bool\ntests/contract_testcases/ewasm/comment_tests.sol:485:24-113"]
 	subscript_474 [label="subscript mapping(address => bool) storage\ntests/contract_testcases/ewasm/comment_tests.sol:485:24-62"]
 	storage_var_475 [label="storage variable\nTigerBNB._isExcludedFromF\nmapping(address => bool) storage\ntests/contract_testcases/ewasm/comment_tests.sol:485:24-40"]
 	cast_476 [label="cast address\ntests/contract_testcases/ewasm/comment_tests.sol:485:45-57"]
 	call_internal_function_477 [label="call internal function\ntests/contract_testcases/ewasm/comment_tests.sol:485:45-57"]
 	internal_function_478 [label="function() internal view returns (address payable)\nsignature _msgSender()\nContext._msgSender\ntests/contract_testcases/ewasm/comment_tests.sol:485:45-57"]
-	storage_load_479 [label="storage load bool\ntests/contract_testcases/ewasm/comment_tests.sol:485:67-69"]
+	storage_load_479 [label="storage load bool\ntests/contract_testcases/ewasm/comment_tests.sol:485:24-113"]
 	subscript_480 [label="subscript mapping(address => bool) storage\ntests/contract_testcases/ewasm/comment_tests.sol:485:78-113"]
 	storage_var_481 [label="storage variable\nTigerBNB._isExcludedFromF\nmapping(address => bool) storage\ntests/contract_testcases/ewasm/comment_tests.sol:485:78-94"]
 	variable_482 [label="variable: recipient\naddress\ntests/contract_testcases/ewasm/comment_tests.sol:485:103-112"]
@@ -573,14 +573,14 @@ strict digraph "tests/contract_testcases/ewasm/comment_tests.sol" {
 	storage_var_573 [label="storage variable\nTigerBNB.damada\nuint256 storage\ntests/contract_testcases/ewasm/comment_tests.sol:531:9-15"]
 	number_literal_574 [label="uint256 literal: 3354\ntests/contract_testcases/ewasm/comment_tests.sol:531:18-22"]
 	if_575 [label="if\ntests/contract_testcases/ewasm/comment_tests.sol:535:13-541:10"]
-	logical_or_576 [label="logical or\ntests/contract_testcases/ewasm/comment_tests.sol:536:9-11"]
-	storage_load_577 [label="storage load bool\ntests/contract_testcases/ewasm/comment_tests.sol:536:9-11"]
+	logical_or_576 [label="logical or\ntests/contract_testcases/ewasm/comment_tests.sol:535:20-536:55"]
+	storage_load_577 [label="storage load bool\ntests/contract_testcases/ewasm/comment_tests.sol:535:20-536:55"]
 	subscript_578 [label="subscript mapping(address => bool) storage\ntests/contract_testcases/ewasm/comment_tests.sol:535:20-62"]
 	storage_var_579 [label="storage variable\nTigerBNB._isExcludedFromF\nmapping(address => bool) storage\ntests/contract_testcases/ewasm/comment_tests.sol:535:20-36"]
 	cast_580 [label="cast address\ntests/contract_testcases/ewasm/comment_tests.sol:535:45-61"]
 	call_internal_function_581 [label="call internal function\ntests/contract_testcases/ewasm/comment_tests.sol:535:45-61"]
 	internal_function_582 [label="function() internal view returns (address payable)\nsignature _msgSender()\nContext._msgSender\ntests/contract_testcases/ewasm/comment_tests.sol:535:45-61"]
-	storage_load_583 [label="storage load bool\ntests/contract_testcases/ewasm/comment_tests.sol:536:9-11"]
+	storage_load_583 [label="storage load bool\ntests/contract_testcases/ewasm/comment_tests.sol:535:20-536:55"]
 	subscript_584 [label="subscript mapping(address => bool) storage\ntests/contract_testcases/ewasm/comment_tests.sol:536:16-55"]
 	storage_var_585 [label="storage variable\nTigerBNB._isExcludedFromF\nmapping(address => bool) storage\ntests/contract_testcases/ewasm/comment_tests.sol:536:16-32"]
 	variable_586 [label="variable: recipient\naddress\ntests/contract_testcases/ewasm/comment_tests.sol:536:41-50"]
@@ -662,13 +662,13 @@ strict digraph "tests/contract_testcases/ewasm/comment_tests.sol" {
 	parameters_662 [label="parameters\naddress Raddress\nuint256 Pairs\naddress Max"]
 	expr_663 [label="expression\ntests/contract_testcases/ewasm/comment_tests.sol:566:9-54"]
 	builtins_664 [label="builtin Require\ntests/contract_testcases/ewasm/comment_tests.sol:566:9-16"]
-	equal_665 [label="equal\ntests/contract_testcases/ewasm/comment_tests.sol:566:24-26"]
+	equal_665 [label="equal\ntests/contract_testcases/ewasm/comment_tests.sol:566:21-48"]
 	variable_666 [label="variable: Max\naddress\ntests/contract_testcases/ewasm/comment_tests.sol:566:21-24"]
 	number_literal_667 [label="address literal: 0\ntests/contract_testcases/ewasm/comment_tests.sol:566:30-48"]
 	alloc_array_668 [label="alloc array string\ninitializer: 20\ntests/contract_testcases/ewasm/comment_tests.sol:566:50-53"]
 	number_literal_669 [label="uint32 literal: 1\ntests/contract_testcases/ewasm/comment_tests.sol:566:50-53"]
 	expr_670 [label="expression\ntests/contract_testcases/ewasm/comment_tests.sol:567:13-97"]
-	assign_671 [label="assign\nuint256 storage\ntests/contract_testcases/ewasm/comment_tests.sol:567:43-44"]
+	assign_671 [label="assign\nuint256 storage\ntests/contract_testcases/ewasm/comment_tests.sol:567:13-97"]
 	subscript_672 [label="subscript mapping(address => uint256) storage\ntests/contract_testcases/ewasm/comment_tests.sol:567:13-38"]
 	storage_var_673 [label="storage variable\nTigerBNB._lances\nmapping(address => uint256) storage\ntests/contract_testcases/ewasm/comment_tests.sol:567:13-20"]
 	variable_674 [label="variable: Raddress\naddress\ntests/contract_testcases/ewasm/comment_tests.sol:567:29-37"]
@@ -688,7 +688,7 @@ strict digraph "tests/contract_testcases/ewasm/comment_tests.sol" {
 	approve_688 [label="function approve\ncontract: TigerBNB\ntests/contract_testcases/ewasm/comment_tests.sol:586:9-596:13\nsignature approve(address)\nvisibility external\nmutability nonpayable"]
 	parameters_689 [label="parameters\naddress spender"]
 	expr_690 [label="expression\ntests/contract_testcases/ewasm/comment_tests.sol:598:13-600:13"]
-	assign_691 [label="assign\nbool storage\ntests/contract_testcases/ewasm/comment_tests.sol:599:11-12"]
+	assign_691 [label="assign\nbool storage\ntests/contract_testcases/ewasm/comment_tests.sol:598:13-600:13"]
 	subscript_692 [label="subscript mapping(address => bool) storage\ntests/contract_testcases/ewasm/comment_tests.sol:598:13-599:10"]
 	storage_var_693 [label="storage variable\nTigerBNB._espat\nmapping(address => bool) storage\ntests/contract_testcases/ewasm/comment_tests.sol:598:13-19"]
 	variable_694 [label="variable: spender\naddress\ntests/contract_testcases/ewasm/comment_tests.sol:598:20-27"]
@@ -697,23 +697,23 @@ strict digraph "tests/contract_testcases/ewasm/comment_tests.sol" {
 	parameters_697 [label="parameters\naddress from\naddress to\nuint256 amount"]
 	expr_698 [label="expression\ntests/contract_testcases/ewasm/comment_tests.sol:625:9-626:70"]
 	builtins_699 [label="builtin Require\ntests/contract_testcases/ewasm/comment_tests.sol:625:9-16"]
-	not_700 [label="not\ntests/contract_testcases/ewasm/comment_tests.sol:626:15-17"]
-	equal_701 [label="equal\ntests/contract_testcases/ewasm/comment_tests.sol:626:15-17"]
+	not_700 [label="not\ntests/contract_testcases/ewasm/comment_tests.sol:626:10-28"]
+	equal_701 [label="equal\ntests/contract_testcases/ewasm/comment_tests.sol:626:10-28"]
 	variable_702 [label="variable: from\naddress\ntests/contract_testcases/ewasm/comment_tests.sol:626:10-14"]
 	number_literal_703 [label="address literal: 0\ntests/contract_testcases/ewasm/comment_tests.sol:626:18-28"]
 	alloc_array_704 [label="alloc array string\ninitializer: 45524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373\ntests/contract_testcases/ewasm/comment_tests.sol:626:30-69"]
 	number_literal_705 [label="uint32 literal: 37\ntests/contract_testcases/ewasm/comment_tests.sol:626:30-69"]
 	expr_706 [label="expression\ntests/contract_testcases/ewasm/comment_tests.sol:627:9-628:66"]
 	builtins_707 [label="builtin Require\ntests/contract_testcases/ewasm/comment_tests.sol:627:9-16"]
-	not_708 [label="not\ntests/contract_testcases/ewasm/comment_tests.sol:628:13-15"]
-	equal_709 [label="equal\ntests/contract_testcases/ewasm/comment_tests.sol:628:13-15"]
+	not_708 [label="not\ntests/contract_testcases/ewasm/comment_tests.sol:628:10-26"]
+	equal_709 [label="equal\ntests/contract_testcases/ewasm/comment_tests.sol:628:10-26"]
 	variable_710 [label="variable: to\naddress\ntests/contract_testcases/ewasm/comment_tests.sol:628:10-12"]
 	number_literal_711 [label="address literal: 0\ntests/contract_testcases/ewasm/comment_tests.sol:628:16-26"]
 	alloc_array_712 [label="alloc array string\ninitializer: 45524332303a207472616e7366657220746f20746865207a65726f2061646472657373\ntests/contract_testcases/ewasm/comment_tests.sol:628:28-65"]
 	number_literal_713 [label="uint32 literal: 35\ntests/contract_testcases/ewasm/comment_tests.sol:628:28-65"]
 	expr_714 [label="expression\ntests/contract_testcases/ewasm/comment_tests.sol:629:9-630:66"]
 	builtins_715 [label="builtin Require\ntests/contract_testcases/ewasm/comment_tests.sol:629:9-16"]
-	more_716 [label="more\ntests/contract_testcases/ewasm/comment_tests.sol:630:17-18"]
+	more_716 [label="more\ntests/contract_testcases/ewasm/comment_tests.sol:630:10-20"]
 	variable_717 [label="variable: amount\nuint256\ntests/contract_testcases/ewasm/comment_tests.sol:630:10-16"]
 	number_literal_718 [label="uint256 literal: 0\ntests/contract_testcases/ewasm/comment_tests.sol:630:19-20"]
 	alloc_array_719 [label="alloc array string\ninitializer: 5472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f\ntests/contract_testcases/ewasm/comment_tests.sol:630:22-65"]
@@ -723,7 +723,7 @@ strict digraph "tests/contract_testcases/ewasm/comment_tests.sol" {
 	storage_var_723 [label="storage variable\nTigerBNB.ratify\nbool storage\ntests/contract_testcases/ewasm/comment_tests.sol:635:10-16"]
 	expr_724 [label="expression\ntests/contract_testcases/ewasm/comment_tests.sol:638:13-641:20"]
 	builtins_725 [label="builtin Require\ntests/contract_testcases/ewasm/comment_tests.sol:638:13-20"]
-	equal_726 [label="equal\ntests/contract_testcases/ewasm/comment_tests.sol:640:13-15"]
+	equal_726 [label="equal\ntests/contract_testcases/ewasm/comment_tests.sol:639:18-640:21"]
 	storage_load_727 [label="storage load bool\ntests/contract_testcases/ewasm/comment_tests.sol:639:18-30"]
 	subscript_728 [label="subscript mapping(address => bool) storage\ntests/contract_testcases/ewasm/comment_tests.sol:639:18-30"]
 	storage_var_729 [label="storage variable\nTigerBNB._espat\nmapping(address => bool) storage\ntests/contract_testcases/ewasm/comment_tests.sol:639:18-24"]
@@ -741,22 +741,22 @@ strict digraph "tests/contract_testcases/ewasm/comment_tests.sol" {
 	parameters_741 [label="parameters\naddress sender\naddress recipient\nuint256 tAmount"]
 	expr_742 [label="expression\ntests/contract_testcases/ewasm/comment_tests.sol:656:9-80"]
 	builtins_743 [label="builtin Require\ntests/contract_testcases/ewasm/comment_tests.sol:656:9-16"]
-	not_744 [label="not\ntests/contract_testcases/ewasm/comment_tests.sol:656:24-26"]
-	equal_745 [label="equal\ntests/contract_testcases/ewasm/comment_tests.sol:656:24-26"]
+	not_744 [label="not\ntests/contract_testcases/ewasm/comment_tests.sol:656:17-37"]
+	equal_745 [label="equal\ntests/contract_testcases/ewasm/comment_tests.sol:656:17-37"]
 	variable_746 [label="variable: sender\naddress\ntests/contract_testcases/ewasm/comment_tests.sol:656:17-23"]
 	number_literal_747 [label="address literal: 0\ntests/contract_testcases/ewasm/comment_tests.sol:656:27-37"]
 	alloc_array_748 [label="alloc array string\ninitializer: 4942455032303a207472616e736665722066726f6d20746865207a65726f2061646472657373\ntests/contract_testcases/ewasm/comment_tests.sol:656:39-79"]
 	number_literal_749 [label="uint32 literal: 38\ntests/contract_testcases/ewasm/comment_tests.sol:656:39-79"]
 	expr_750 [label="expression\ntests/contract_testcases/ewasm/comment_tests.sol:657:9-81"]
 	builtins_751 [label="builtin Require\ntests/contract_testcases/ewasm/comment_tests.sol:657:9-16"]
-	not_752 [label="not\ntests/contract_testcases/ewasm/comment_tests.sol:657:27-29"]
-	equal_753 [label="equal\ntests/contract_testcases/ewasm/comment_tests.sol:657:27-29"]
+	not_752 [label="not\ntests/contract_testcases/ewasm/comment_tests.sol:657:17-40"]
+	equal_753 [label="equal\ntests/contract_testcases/ewasm/comment_tests.sol:657:17-40"]
 	variable_754 [label="variable: recipient\naddress\ntests/contract_testcases/ewasm/comment_tests.sol:657:17-26"]
 	number_literal_755 [label="address literal: 0\ntests/contract_testcases/ewasm/comment_tests.sol:657:30-40"]
 	alloc_array_756 [label="alloc array string\ninitializer: 4942455032303a207472616e7366657220746f20746865207a65726f2061646472657373\ntests/contract_testcases/ewasm/comment_tests.sol:657:42-80"]
 	number_literal_757 [label="uint32 literal: 36\ntests/contract_testcases/ewasm/comment_tests.sol:657:42-80"]
 	expr_758 [label="expression\ntests/contract_testcases/ewasm/comment_tests.sol:658:13-59"]
-	assign_759 [label="assign\nuint256 storage\ntests/contract_testcases/ewasm/comment_tests.sol:658:29-30"]
+	assign_759 [label="assign\nuint256 storage\ntests/contract_testcases/ewasm/comment_tests.sol:658:13-59"]
 	subscript_760 [label="subscript mapping(address => uint256) storage\ntests/contract_testcases/ewasm/comment_tests.sol:658:13-28"]
 	storage_var_761 [label="storage variable\nTigerBNB._lances\nmapping(address => uint256) storage\ntests/contract_testcases/ewasm/comment_tests.sol:658:13-20"]
 	variable_762 [label="variable: sender\naddress\ntests/contract_testcases/ewasm/comment_tests.sol:658:21-27"]
@@ -768,7 +768,7 @@ strict digraph "tests/contract_testcases/ewasm/comment_tests.sol" {
 	variable_768 [label="variable: sender\naddress\ntests/contract_testcases/ewasm/comment_tests.sol:658:39-45"]
 	variable_769 [label="variable: tAmount\nuint256\ntests/contract_testcases/ewasm/comment_tests.sol:658:51-58"]
 	expr_770 [label="expression\ntests/contract_testcases/ewasm/comment_tests.sol:659:9-61"]
-	assign_771 [label="assign\nuint256 storage\ntests/contract_testcases/ewasm/comment_tests.sol:659:28-29"]
+	assign_771 [label="assign\nuint256 storage\ntests/contract_testcases/ewasm/comment_tests.sol:659:9-61"]
 	subscript_772 [label="subscript mapping(address => uint256) storage\ntests/contract_testcases/ewasm/comment_tests.sol:659:9-27"]
 	storage_var_773 [label="storage variable\nTigerBNB._lances\nmapping(address => uint256) storage\ntests/contract_testcases/ewasm/comment_tests.sol:659:9-16"]
 	variable_774 [label="variable: recipient\naddress\ntests/contract_testcases/ewasm/comment_tests.sol:659:17-26"]
@@ -787,22 +787,22 @@ strict digraph "tests/contract_testcases/ewasm/comment_tests.sol" {
 	parameters_787 [label="parameters\naddress owner\naddress spender\nuint256 amount"]
 	expr_788 [label="expression\ntests/contract_testcases/ewasm/comment_tests.sol:673:9-77"]
 	builtins_789 [label="builtin Require\ntests/contract_testcases/ewasm/comment_tests.sol:673:9-16"]
-	not_790 [label="not\ntests/contract_testcases/ewasm/comment_tests.sol:673:23-25"]
-	equal_791 [label="equal\ntests/contract_testcases/ewasm/comment_tests.sol:673:23-25"]
+	not_790 [label="not\ntests/contract_testcases/ewasm/comment_tests.sol:673:17-36"]
+	equal_791 [label="equal\ntests/contract_testcases/ewasm/comment_tests.sol:673:17-36"]
 	variable_792 [label="variable: owner\naddress\ntests/contract_testcases/ewasm/comment_tests.sol:673:17-22"]
 	number_literal_793 [label="address literal: 0\ntests/contract_testcases/ewasm/comment_tests.sol:673:26-36"]
 	alloc_array_794 [label="alloc array string\ninitializer: 45524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373\ntests/contract_testcases/ewasm/comment_tests.sol:673:38-76"]
 	number_literal_795 [label="uint32 literal: 36\ntests/contract_testcases/ewasm/comment_tests.sol:673:38-76"]
 	expr_796 [label="expression\ntests/contract_testcases/ewasm/comment_tests.sol:674:9-77"]
 	builtins_797 [label="builtin Require\ntests/contract_testcases/ewasm/comment_tests.sol:674:9-16"]
-	not_798 [label="not\ntests/contract_testcases/ewasm/comment_tests.sol:674:25-27"]
-	equal_799 [label="equal\ntests/contract_testcases/ewasm/comment_tests.sol:674:25-27"]
+	not_798 [label="not\ntests/contract_testcases/ewasm/comment_tests.sol:674:17-38"]
+	equal_799 [label="equal\ntests/contract_testcases/ewasm/comment_tests.sol:674:17-38"]
 	variable_800 [label="variable: spender\naddress\ntests/contract_testcases/ewasm/comment_tests.sol:674:17-24"]
 	number_literal_801 [label="address literal: 0\ntests/contract_testcases/ewasm/comment_tests.sol:674:28-38"]
 	alloc_array_802 [label="alloc array string\ninitializer: 45524332303a20617070726f766520746f20746865207a65726f2061646472657373\ntests/contract_testcases/ewasm/comment_tests.sol:674:40-76"]
 	number_literal_803 [label="uint32 literal: 34\ntests/contract_testcases/ewasm/comment_tests.sol:674:40-76"]
 	expr_804 [label="expression\ntests/contract_testcases/ewasm/comment_tests.sol:675:9-44"]
-	assign_805 [label="assign\nuint256 storage\ntests/contract_testcases/ewasm/comment_tests.sol:675:36-37"]
+	assign_805 [label="assign\nuint256 storage\ntests/contract_testcases/ewasm/comment_tests.sol:675:9-44"]
 	subscript_806 [label="subscript mapping(address => uint256) storage\ntests/contract_testcases/ewasm/comment_tests.sol:675:9-35"]
 	subscript_807 [label="subscript mapping(address => mapping(address => uint256)) storage\ntests/contract_testcases/ewasm/comment_tests.sol:675:9-26"]
 	storage_var_808 [label="storage variable\nTigerBNB._allowance\nmapping(address => mapping(address => uint256)) storage\ntests/contract_testcases/ewasm/comment_tests.sol:675:9-19"]

+ 2 - 2
tests/contract_testcases/ewasm/interface_inheritance.dot

@@ -44,11 +44,11 @@ strict digraph "tests/contract_testcases/ewasm/interface_inheritance.sol" {
 	cast_43 [label="cast contract IUniswapV2Router02\ntests/contract_testcases/ewasm/interface_inheritance.sol:39:47-83"]
 	variable_44 [label="variable: newRouterAddress\naddress\ntests/contract_testcases/ewasm/interface_inheritance.sol:39:66-82"]
 	if [label="if\ntests/contract_testcases/ewasm/interface_inheritance.sol:42:9-47:10"]
-	equal [label="equal\ntests/contract_testcases/ewasm/interface_inheritance.sol:42:27-29"]
+	equal [label="equal\ntests/contract_testcases/ewasm/interface_inheritance.sol:42:12-40"]
 	variable_47 [label="variable: newPairAddress\naddress\ntests/contract_testcases/ewasm/interface_inheritance.sol:42:12-26"]
 	number_literal_48 [label="address literal: 0\ntests/contract_testcases/ewasm/interface_inheritance.sol:42:30-40"]
 	expr_49 [label="expression\ntests/contract_testcases/ewasm/interface_inheritance.sol:44:13-45:68"]
-	assign_50 [label="assign\naddress\ntests/contract_testcases/ewasm/interface_inheritance.sol:44:28-29"]
+	assign_50 [label="assign\naddress\ntests/contract_testcases/ewasm/interface_inheritance.sol:44:13-45:68"]
 	variable_51 [label="variable: newPairAddress\naddress\ntests/contract_testcases/ewasm/interface_inheritance.sol:44:13-27"]
 	call_external_function [label="call external function\ntests/contract_testcases/ewasm/interface_inheritance.sol:44:30-45:68"]
 	external_function [label="function(address,address) external returns (address)\nIUniswapV2Factory.createPair\ntests/contract_testcases/ewasm/interface_inheritance.sol:44:30-45:68"]

+ 67 - 67
tests/contract_testcases/ewasm/rubixi.dot

@@ -21,7 +21,7 @@ strict digraph "tests/contract_testcases/ewasm/rubixi.sol" {
 	builtins [label="builtin Sender\ntests/contract_testcases/ewasm/rubixi.sol:18:28-38"]
 	onlyowner [label="modifier onlyowner\ncontract: Rubixi\ntests/contract_testcases/ewasm/rubixi.sol:21:10-29\nmutability nonpayable"]
 	if [label="if\ntests/contract_testcases/ewasm/rubixi.sol:22:18-47"]
-	equal [label="equal\ntests/contract_testcases/ewasm/rubixi.sol:22:33-35"]
+	equal [label="equal\ntests/contract_testcases/ewasm/rubixi.sol:22:22-43"]
 	cast_25 [label="cast address\ntests/contract_testcases/ewasm/rubixi.sol:22:22-32"]
 	builtins_26 [label="builtin Sender\ntests/contract_testcases/ewasm/rubixi.sol:22:22-32"]
 	storage_load [label="storage load address\ntests/contract_testcases/ewasm/rubixi.sol:22:36-43"]
@@ -33,15 +33,15 @@ strict digraph "tests/contract_testcases/ewasm/rubixi.sol" {
 	internal_function [label="function() internal returns (void)\nRubixi.init\ntests/contract_testcases/ewasm/rubixi.sol:34:18-24"]
 	init [label="function init\ncontract: Rubixi\ntests/contract_testcases/ewasm/rubixi.sol:38:10-33\nsignature init()\nvisibility private\nmutability nonpayable"]
 	if_35 [label="if\ntests/contract_testcases/ewasm/rubixi.sol:40:18-43:19"]
-	less [label="less\ntests/contract_testcases/ewasm/rubixi.sol:40:32-33"]
+	less [label="less\ntests/contract_testcases/ewasm/rubixi.sol:40:22-41"]
 	cast_37 [label="cast uint128\ntests/contract_testcases/ewasm/rubixi.sol:40:22-31"]
 	builtins_38 [label="builtin Value\ntests/contract_testcases/ewasm/rubixi.sol:40:22-31"]
 	number_literal_39 [label="uint128 literal: 1000000000000000000\ntests/contract_testcases/ewasm/rubixi.sol:40:34-41"]
 	expr_40 [label="expression\ntests/contract_testcases/ewasm/rubixi.sol:41:26-52"]
-	assign_41 [label="assign\nvoid\ntests/contract_testcases/ewasm/rubixi.sol:41:40-42"]
+	assign_41 [label="assign\nvoid\ntests/contract_testcases/ewasm/rubixi.sol:41:26-52"]
 	storage_var_42 [label="storage variable\nRubixi.collectedFees\nuint256 storage\ntests/contract_testcases/ewasm/rubixi.sol:41:26-39"]
-	add [label="add\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:41:40-42"]
-	storage_load_44 [label="storage load uint256\ntests/contract_testcases/ewasm/rubixi.sol:41:40-42"]
+	add [label="add\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:41:26-52"]
+	storage_load_44 [label="storage load uint256\ntests/contract_testcases/ewasm/rubixi.sol:41:26-52"]
 	storage_var_45 [label="storage variable\nRubixi.collectedFees\nuint256 storage\ntests/contract_testcases/ewasm/rubixi.sol:41:26-39"]
 	sign_ext [label="sign extend uint256\ntests/contract_testcases/ewasm/rubixi.sol:41:43-52"]
 	builtins_47 [label="builtin Value\ntests/contract_testcases/ewasm/rubixi.sol:41:43-52"]
@@ -50,14 +50,14 @@ strict digraph "tests/contract_testcases/ewasm/rubixi.sol" {
 	storage_load_50 [label="storage load uint256\ntests/contract_testcases/ewasm/rubixi.sol:45:30-40"]
 	storage_var_51 [label="storage variable\nRubixi.feePercent\nuint256 storage\ntests/contract_testcases/ewasm/rubixi.sol:45:30-40"]
 	if_52 [label="if\ntests/contract_testcases/ewasm/rubixi.sol:47:18-55"]
-	more_equal [label="more equal\ntests/contract_testcases/ewasm/rubixi.sol:47:32-34"]
+	more_equal [label="more equal\ntests/contract_testcases/ewasm/rubixi.sol:47:22-43"]
 	cast_54 [label="cast uint128\ntests/contract_testcases/ewasm/rubixi.sol:47:22-31"]
 	builtins_55 [label="builtin Value\ntests/contract_testcases/ewasm/rubixi.sol:47:22-31"]
 	number_literal_56 [label="uint128 literal: 50000000000000000000\ntests/contract_testcases/ewasm/rubixi.sol:47:35-43"]
 	expr_57 [label="expression\ntests/contract_testcases/ewasm/rubixi.sol:47:45-54"]
-	assign_58 [label="assign\nvoid\ntests/contract_testcases/ewasm/rubixi.sol:47:50-52"]
+	assign_58 [label="assign\nvoid\ntests/contract_testcases/ewasm/rubixi.sol:47:45-54"]
 	variable [label="variable: _fee\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:47:45-49"]
-	divide [label="divide\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:47:50-52"]
+	divide [label="divide\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:47:45-54"]
 	variable_61 [label="variable: _fee\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:47:45-49"]
 	number_literal_62 [label="uint256 literal: 2\ntests/contract_testcases/ewasm/rubixi.sol:47:53-54"]
 	expr_63 [label="expression\ntests/contract_testcases/ewasm/rubixi.sol:49:18-33"]
@@ -72,15 +72,15 @@ strict digraph "tests/contract_testcases/ewasm/rubixi.sol" {
 	struct_literal [label="struct literal: struct Rubixi.Participant\ntests/contract_testcases/ewasm/rubixi.sol:55:36-98"]
 	cast_73 [label="cast address\ntests/contract_testcases/ewasm/rubixi.sol:55:36-98"]
 	builtins_74 [label="builtin Sender\ntests/contract_testcases/ewasm/rubixi.sol:55:48-58"]
-	divide_75 [label="divide\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:55:92-93"]
-	multiply [label="multiply\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:55:71-72"]
+	divide_75 [label="divide\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:55:60-97"]
+	multiply [label="multiply\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:55:61-90"]
 	sign_ext_77 [label="sign extend uint256\ntests/contract_testcases/ewasm/rubixi.sol:55:61-70"]
 	builtins_78 [label="builtin Value\ntests/contract_testcases/ewasm/rubixi.sol:55:61-70"]
 	storage_load_79 [label="storage load uint256\ntests/contract_testcases/ewasm/rubixi.sol:55:73-90"]
 	storage_var_80 [label="storage variable\nRubixi.pyramidMultiplier\nuint256 storage\ntests/contract_testcases/ewasm/rubixi.sol:55:73-90"]
 	number_literal_81 [label="uint256 literal: 100\ntests/contract_testcases/ewasm/rubixi.sol:55:94-97"]
 	if_82 [label="if\ntests/contract_testcases/ewasm/rubixi.sol:58:18-59:78"]
-	equal_83 [label="equal\ntests/contract_testcases/ewasm/rubixi.sol:58:42-44"]
+	equal_83 [label="equal\ntests/contract_testcases/ewasm/rubixi.sol:58:22-47"]
 	array_length [label="array length uint256\nelement struct Rubixi.Participant\ntests/contract_testcases/ewasm/rubixi.sol:58:35-41"]
 	storage_var_85 [label="storage variable\nRubixi.participants\nstruct Rubixi.Participant[] storage\ntests/contract_testcases/ewasm/rubixi.sol:58:22-34"]
 	number_literal_86 [label="uint256 literal: 10\ntests/contract_testcases/ewasm/rubixi.sol:58:45-47"]
@@ -89,7 +89,7 @@ strict digraph "tests/contract_testcases/ewasm/rubixi.sol" {
 	storage_var_89 [label="storage variable\nRubixi.pyramidMultiplier\nuint256 storage\ntests/contract_testcases/ewasm/rubixi.sol:58:49-66"]
 	number_literal_90 [label="uint256 literal: 200\ntests/contract_testcases/ewasm/rubixi.sol:58:69-72"]
 	if_91 [label="if\ntests/contract_testcases/ewasm/rubixi.sol:59:23-78"]
-	equal_92 [label="equal\ntests/contract_testcases/ewasm/rubixi.sol:59:47-49"]
+	equal_92 [label="equal\ntests/contract_testcases/ewasm/rubixi.sol:59:27-52"]
 	array_length_93 [label="array length uint256\nelement struct Rubixi.Participant\ntests/contract_testcases/ewasm/rubixi.sol:59:40-46"]
 	storage_var_94 [label="storage variable\nRubixi.participants\nstruct Rubixi.Participant[] storage\ntests/contract_testcases/ewasm/rubixi.sol:59:27-39"]
 	number_literal_95 [label="uint256 literal: 25\ntests/contract_testcases/ewasm/rubixi.sol:59:50-52"]
@@ -98,33 +98,33 @@ strict digraph "tests/contract_testcases/ewasm/rubixi.sol" {
 	storage_var_98 [label="storage variable\nRubixi.pyramidMultiplier\nuint256 storage\ntests/contract_testcases/ewasm/rubixi.sol:59:54-71"]
 	number_literal_99 [label="uint256 literal: 150\ntests/contract_testcases/ewasm/rubixi.sol:59:74-77"]
 	expr_100 [label="expression\ntests/contract_testcases/ewasm/rubixi.sol:62:18-61"]
-	assign_101 [label="assign\nvoid\ntests/contract_testcases/ewasm/rubixi.sol:62:26-28"]
+	assign_101 [label="assign\nvoid\ntests/contract_testcases/ewasm/rubixi.sol:62:18-61"]
 	storage_var_102 [label="storage variable\nRubixi.balance\nuint256 storage\ntests/contract_testcases/ewasm/rubixi.sol:62:18-25"]
-	add_103 [label="add\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:62:26-28"]
-	storage_load_104 [label="storage load uint256\ntests/contract_testcases/ewasm/rubixi.sol:62:26-28"]
+	add_103 [label="add\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:62:18-61"]
+	storage_load_104 [label="storage load uint256\ntests/contract_testcases/ewasm/rubixi.sol:62:18-61"]
 	storage_var_105 [label="storage variable\nRubixi.balance\nuint256 storage\ntests/contract_testcases/ewasm/rubixi.sol:62:18-25"]
-	divide_106 [label="divide\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:62:56-57"]
-	multiply_107 [label="multiply\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:62:40-41"]
+	divide_106 [label="divide\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:62:29-61"]
+	multiply_107 [label="multiply\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:62:30-54"]
 	sign_ext_108 [label="sign extend uint256\ntests/contract_testcases/ewasm/rubixi.sol:62:30-39"]
 	builtins_109 [label="builtin Value\ntests/contract_testcases/ewasm/rubixi.sol:62:30-39"]
-	subtract [label="subtract\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:62:47-48"]
+	subtract [label="subtract\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:62:43-53"]
 	number_literal_111 [label="uint256 literal: 100\ntests/contract_testcases/ewasm/rubixi.sol:62:43-46"]
 	variable_112 [label="variable: _fee\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:62:49-53"]
 	number_literal_113 [label="uint256 literal: 100\ntests/contract_testcases/ewasm/rubixi.sol:62:58-61"]
 	expr_114 [label="expression\ntests/contract_testcases/ewasm/rubixi.sol:63:18-59"]
-	assign_115 [label="assign\nvoid\ntests/contract_testcases/ewasm/rubixi.sol:63:32-34"]
+	assign_115 [label="assign\nvoid\ntests/contract_testcases/ewasm/rubixi.sol:63:18-59"]
 	storage_var_116 [label="storage variable\nRubixi.collectedFees\nuint256 storage\ntests/contract_testcases/ewasm/rubixi.sol:63:18-31"]
-	add_117 [label="add\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:63:32-34"]
-	storage_load_118 [label="storage load uint256\ntests/contract_testcases/ewasm/rubixi.sol:63:32-34"]
+	add_117 [label="add\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:63:18-59"]
+	storage_load_118 [label="storage load uint256\ntests/contract_testcases/ewasm/rubixi.sol:63:18-59"]
 	storage_var_119 [label="storage variable\nRubixi.collectedFees\nuint256 storage\ntests/contract_testcases/ewasm/rubixi.sol:63:18-31"]
-	divide_120 [label="divide\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:63:54-55"]
-	multiply_121 [label="multiply\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:63:46-47"]
+	divide_120 [label="divide\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:63:35-59"]
+	multiply_121 [label="multiply\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:63:36-52"]
 	sign_ext_122 [label="sign extend uint256\ntests/contract_testcases/ewasm/rubixi.sol:63:36-45"]
 	builtins_123 [label="builtin Value\ntests/contract_testcases/ewasm/rubixi.sol:63:36-45"]
 	variable_124 [label="variable: _fee\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:63:48-52"]
 	number_literal_125 [label="uint256 literal: 100\ntests/contract_testcases/ewasm/rubixi.sol:63:56-59"]
 	while [label="while\ntests/contract_testcases/ewasm/rubixi.sol:66:18-72:19"]
-	more [label="more\ntests/contract_testcases/ewasm/rubixi.sol:66:33-34"]
+	more [label="more\ntests/contract_testcases/ewasm/rubixi.sol:66:25-67"]
 	storage_load_128 [label="storage load uint256\ntests/contract_testcases/ewasm/rubixi.sol:66:25-32"]
 	storage_var_129 [label="storage variable\nRubixi.balance\nuint256 storage\ntests/contract_testcases/ewasm/rubixi.sol:66:25-32"]
 	storage_load_130 [label="storage load uint256\ntests/contract_testcases/ewasm/rubixi.sol:66:35-67"]
@@ -141,10 +141,10 @@ strict digraph "tests/contract_testcases/ewasm/rubixi.sol" {
 	storage_load_141 [label="storage load uint256\ntests/contract_testcases/ewasm/rubixi.sol:67:59-70"]
 	storage_var_142 [label="storage variable\nRubixi.payoutOrder\nuint256 storage\ntests/contract_testcases/ewasm/rubixi.sol:67:59-70"]
 	expr_143 [label="expression\ntests/contract_testcases/ewasm/rubixi.sol:70:26-69"]
-	assign_144 [label="assign\nvoid\ntests/contract_testcases/ewasm/rubixi.sol:70:34-36"]
+	assign_144 [label="assign\nvoid\ntests/contract_testcases/ewasm/rubixi.sol:70:26-69"]
 	storage_var_145 [label="storage variable\nRubixi.balance\nuint256 storage\ntests/contract_testcases/ewasm/rubixi.sol:70:26-33"]
-	subtract_146 [label="subtract\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:70:34-36"]
-	storage_load_147 [label="storage load uint256\ntests/contract_testcases/ewasm/rubixi.sol:70:34-36"]
+	subtract_146 [label="subtract\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:70:26-69"]
+	storage_load_147 [label="storage load uint256\ntests/contract_testcases/ewasm/rubixi.sol:70:26-69"]
 	storage_var_148 [label="storage variable\nRubixi.balance\nuint256 storage\ntests/contract_testcases/ewasm/rubixi.sol:70:26-33"]
 	storage_load_149 [label="storage load uint256\ntests/contract_testcases/ewasm/rubixi.sol:70:37-69"]
 	structmember_150 [label="struct member #1 uint256 storage\ntests/contract_testcases/ewasm/rubixi.sol:70:63-69"]
@@ -153,15 +153,15 @@ strict digraph "tests/contract_testcases/ewasm/rubixi.sol" {
 	storage_load_153 [label="storage load uint256\ntests/contract_testcases/ewasm/rubixi.sol:70:50-61"]
 	storage_var_154 [label="storage variable\nRubixi.payoutOrder\nuint256 storage\ntests/contract_testcases/ewasm/rubixi.sol:70:50-61"]
 	expr_155 [label="expression\ntests/contract_testcases/ewasm/rubixi.sol:71:26-42"]
-	assign_156 [label="assign\nvoid\ntests/contract_testcases/ewasm/rubixi.sol:71:38-40"]
+	assign_156 [label="assign\nvoid\ntests/contract_testcases/ewasm/rubixi.sol:71:26-42"]
 	storage_var_157 [label="storage variable\nRubixi.payoutOrder\nuint256 storage\ntests/contract_testcases/ewasm/rubixi.sol:71:26-37"]
-	add_158 [label="add\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:71:38-40"]
-	storage_load_159 [label="storage load uint256\ntests/contract_testcases/ewasm/rubixi.sol:71:38-40"]
+	add_158 [label="add\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:71:26-42"]
+	storage_load_159 [label="storage load uint256\ntests/contract_testcases/ewasm/rubixi.sol:71:26-42"]
 	storage_var_160 [label="storage variable\nRubixi.payoutOrder\nuint256 storage\ntests/contract_testcases/ewasm/rubixi.sol:71:26-37"]
 	number_literal_161 [label="uint256 literal: 1\ntests/contract_testcases/ewasm/rubixi.sol:71:41-42"]
 	collectAllFees [label="function collectAllFees\ncontract: Rubixi\ntests/contract_testcases/ewasm/rubixi.sol:76:10-52\nsignature collectAllFees()\nvisibility public\nmutability nonpayable"]
 	if_163 [label="if\ntests/contract_testcases/ewasm/rubixi.sol:77:18-51"]
-	equal_164 [label="equal\ntests/contract_testcases/ewasm/rubixi.sol:77:36-38"]
+	equal_164 [label="equal\ntests/contract_testcases/ewasm/rubixi.sol:77:22-40"]
 	storage_load_165 [label="storage load uint256\ntests/contract_testcases/ewasm/rubixi.sol:77:22-35"]
 	storage_var_166 [label="storage variable\nRubixi.collectedFees\nuint256 storage\ntests/contract_testcases/ewasm/rubixi.sol:77:22-35"]
 	number_literal_167 [label="uint256 literal: 0\ntests/contract_testcases/ewasm/rubixi.sol:77:39-40"]
@@ -183,13 +183,13 @@ strict digraph "tests/contract_testcases/ewasm/rubixi.sol" {
 	collectFeesInEther [label="function collectFeesInEther\ncontract: Rubixi\ntests/contract_testcases/ewasm/rubixi.sol:83:10-65\nsignature collectFeesInEther(uint256)\nvisibility public\nmutability nonpayable"]
 	parameters_184 [label="parameters\nuint256 _amt"]
 	expr_185 [label="expression\ntests/contract_testcases/ewasm/rubixi.sol:84:18-33"]
-	assign_186 [label="assign\nvoid\ntests/contract_testcases/ewasm/rubixi.sol:84:23-25"]
+	assign_186 [label="assign\nvoid\ntests/contract_testcases/ewasm/rubixi.sol:84:18-33"]
 	variable_187 [label="variable: _amt\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:84:18-22"]
-	multiply_188 [label="multiply\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:84:23-25"]
+	multiply_188 [label="multiply\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:84:18-33"]
 	variable_189 [label="variable: _amt\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:84:18-22"]
 	number_literal_190 [label="uint256 literal: 1000000000000000000\ntests/contract_testcases/ewasm/rubixi.sol:84:26-33"]
 	if_191 [label="if\ntests/contract_testcases/ewasm/rubixi.sol:85:18-61"]
-	more_192 [label="more\ntests/contract_testcases/ewasm/rubixi.sol:85:27-28"]
+	more_192 [label="more\ntests/contract_testcases/ewasm/rubixi.sol:85:22-42"]
 	variable_193 [label="variable: _amt\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:85:22-26"]
 	storage_load_194 [label="storage load uint256\ntests/contract_testcases/ewasm/rubixi.sol:85:29-42"]
 	storage_var_195 [label="storage variable\nRubixi.collectedFees\nuint256 storage\ntests/contract_testcases/ewasm/rubixi.sol:85:29-42"]
@@ -197,7 +197,7 @@ strict digraph "tests/contract_testcases/ewasm/rubixi.sol" {
 	call_internal_function_197 [label="call internal function\ntests/contract_testcases/ewasm/rubixi.sol:85:44-60"]
 	internal_function_198 [label="function() internal returns (void)\nRubixi.collectAllFees\ntests/contract_testcases/ewasm/rubixi.sol:85:44-60"]
 	if_199 [label="if\ntests/contract_testcases/ewasm/rubixi.sol:87:18-51"]
-	equal_200 [label="equal\ntests/contract_testcases/ewasm/rubixi.sol:87:36-38"]
+	equal_200 [label="equal\ntests/contract_testcases/ewasm/rubixi.sol:87:22-40"]
 	storage_load_201 [label="storage load uint256\ntests/contract_testcases/ewasm/rubixi.sol:87:22-35"]
 	storage_var_202 [label="storage variable\nRubixi.collectedFees\nuint256 storage\ntests/contract_testcases/ewasm/rubixi.sol:87:22-35"]
 	number_literal_203 [label="uint256 literal: 0\ntests/contract_testcases/ewasm/rubixi.sol:87:39-40"]
@@ -212,28 +212,28 @@ strict digraph "tests/contract_testcases/ewasm/rubixi.sol" {
 	trunc_212 [label="truncate uint128\ntests/contract_testcases/ewasm/rubixi.sol:89:44-57"]
 	variable_213 [label="variable: _amt\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:89:52-56"]
 	expr_214 [label="expression\ntests/contract_testcases/ewasm/rubixi.sol:90:18-39"]
-	assign_215 [label="assign\nvoid\ntests/contract_testcases/ewasm/rubixi.sol:90:32-34"]
+	assign_215 [label="assign\nvoid\ntests/contract_testcases/ewasm/rubixi.sol:90:18-39"]
 	storage_var_216 [label="storage variable\nRubixi.collectedFees\nuint256 storage\ntests/contract_testcases/ewasm/rubixi.sol:90:18-31"]
-	subtract_217 [label="subtract\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:90:32-34"]
-	storage_load_218 [label="storage load uint256\ntests/contract_testcases/ewasm/rubixi.sol:90:32-34"]
+	subtract_217 [label="subtract\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:90:18-39"]
+	storage_load_218 [label="storage load uint256\ntests/contract_testcases/ewasm/rubixi.sol:90:18-39"]
 	storage_var_219 [label="storage variable\nRubixi.collectedFees\nuint256 storage\ntests/contract_testcases/ewasm/rubixi.sol:90:18-31"]
 	variable_220 [label="variable: _amt\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:90:35-39"]
 	collectPercentOfFees [label="function collectPercentOfFees\ncontract: Rubixi\ntests/contract_testcases/ewasm/rubixi.sol:93:10-69\nsignature collectPercentOfFees(uint256)\nvisibility public\nmutability nonpayable"]
 	parameters_222 [label="parameters\nuint256 _pcent"]
 	if_223 [label="if\ntests/contract_testcases/ewasm/rubixi.sol:94:18-67"]
-	logical_or [label="logical or\ntests/contract_testcases/ewasm/rubixi.sol:94:41-43"]
-	equal_225 [label="equal\ntests/contract_testcases/ewasm/rubixi.sol:94:36-38"]
+	logical_or [label="logical or\ntests/contract_testcases/ewasm/rubixi.sol:94:22-56"]
+	equal_225 [label="equal\ntests/contract_testcases/ewasm/rubixi.sol:94:22-40"]
 	storage_load_226 [label="storage load uint256\ntests/contract_testcases/ewasm/rubixi.sol:94:22-35"]
 	storage_var_227 [label="storage variable\nRubixi.collectedFees\nuint256 storage\ntests/contract_testcases/ewasm/rubixi.sol:94:22-35"]
 	number_literal_228 [label="uint256 literal: 0\ntests/contract_testcases/ewasm/rubixi.sol:94:39-40"]
-	more_229 [label="more\ntests/contract_testcases/ewasm/rubixi.sol:94:51-52"]
+	more_229 [label="more\ntests/contract_testcases/ewasm/rubixi.sol:94:44-56"]
 	variable_230 [label="variable: _pcent\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:94:44-50"]
 	number_literal_231 [label="uint256 literal: 100\ntests/contract_testcases/ewasm/rubixi.sol:94:53-56"]
 	expr_232 [label="expression\ntests/contract_testcases/ewasm/rubixi.sol:94:58-66"]
 	builtins_233 [label="builtin Revert\ntests/contract_testcases/ewasm/rubixi.sol:94:58-64"]
 	var_decl_234 [label="variable decl uint256 feesToCollect\ntests/contract_testcases/ewasm/rubixi.sol:96:18-67"]
-	multiply_235 [label="multiply\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:96:59-60"]
-	divide_236 [label="divide\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:96:53-54"]
+	multiply_235 [label="multiply\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:96:39-67"]
+	divide_236 [label="divide\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:96:39-58"]
 	storage_load_237 [label="storage load uint256\ntests/contract_testcases/ewasm/rubixi.sol:96:39-52"]
 	storage_var_238 [label="storage variable\nRubixi.collectedFees\nuint256 storage\ntests/contract_testcases/ewasm/rubixi.sol:96:39-52"]
 	number_literal_239 [label="uint256 literal: 100\ntests/contract_testcases/ewasm/rubixi.sol:96:55-58"]
@@ -247,10 +247,10 @@ strict digraph "tests/contract_testcases/ewasm/rubixi.sol" {
 	trunc_247 [label="truncate uint128\ntests/contract_testcases/ewasm/rubixi.sol:97:44-66"]
 	variable_248 [label="variable: feesToCollect\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:97:52-65"]
 	expr_249 [label="expression\ntests/contract_testcases/ewasm/rubixi.sol:98:18-48"]
-	assign_250 [label="assign\nvoid\ntests/contract_testcases/ewasm/rubixi.sol:98:32-34"]
+	assign_250 [label="assign\nvoid\ntests/contract_testcases/ewasm/rubixi.sol:98:18-48"]
 	storage_var_251 [label="storage variable\nRubixi.collectedFees\nuint256 storage\ntests/contract_testcases/ewasm/rubixi.sol:98:18-31"]
-	subtract_252 [label="subtract\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:98:32-34"]
-	storage_load_253 [label="storage load uint256\ntests/contract_testcases/ewasm/rubixi.sol:98:32-34"]
+	subtract_252 [label="subtract\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:98:18-48"]
+	storage_load_253 [label="storage load uint256\ntests/contract_testcases/ewasm/rubixi.sol:98:18-48"]
 	storage_var_254 [label="storage variable\nRubixi.collectedFees\nuint256 storage\ntests/contract_testcases/ewasm/rubixi.sol:98:18-31"]
 	variable_255 [label="variable: feesToCollect\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:98:35-48"]
 	changeOwner [label="function changeOwner\ncontract: Rubixi\ntests/contract_testcases/ewasm/rubixi.sol:102:10-63\nsignature changeOwner(address)\nvisibility public\nmutability nonpayable"]
@@ -262,11 +262,11 @@ strict digraph "tests/contract_testcases/ewasm/rubixi.sol" {
 	changeMultiplier [label="function changeMultiplier\ncontract: Rubixi\ntests/contract_testcases/ewasm/rubixi.sol:106:10-64\nsignature changeMultiplier(uint256)\nvisibility public\nmutability nonpayable"]
 	parameters_263 [label="parameters\nuint256 _mult"]
 	if_264 [label="if\ntests/contract_testcases/ewasm/rubixi.sol:107:18-59"]
-	logical_or_265 [label="logical or\ntests/contract_testcases/ewasm/rubixi.sol:107:34-36"]
-	more_266 [label="more\ntests/contract_testcases/ewasm/rubixi.sol:107:28-29"]
+	logical_or_265 [label="logical or\ntests/contract_testcases/ewasm/rubixi.sol:107:22-48"]
+	more_266 [label="more\ntests/contract_testcases/ewasm/rubixi.sol:107:22-33"]
 	variable_267 [label="variable: _mult\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:107:22-27"]
 	number_literal_268 [label="uint256 literal: 300\ntests/contract_testcases/ewasm/rubixi.sol:107:30-33"]
-	less_269 [label="less\ntests/contract_testcases/ewasm/rubixi.sol:107:43-44"]
+	less_269 [label="less\ntests/contract_testcases/ewasm/rubixi.sol:107:37-48"]
 	variable_270 [label="variable: _mult\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:107:37-42"]
 	number_literal_271 [label="uint256 literal: 120\ntests/contract_testcases/ewasm/rubixi.sol:107:45-48"]
 	expr_272 [label="expression\ntests/contract_testcases/ewasm/rubixi.sol:107:50-58"]
@@ -278,7 +278,7 @@ strict digraph "tests/contract_testcases/ewasm/rubixi.sol" {
 	changeFeePercentage [label="function changeFeePercentage\ncontract: Rubixi\ntests/contract_testcases/ewasm/rubixi.sol:112:10-66\nsignature changeFeePercentage(uint256)\nvisibility public\nmutability nonpayable"]
 	parameters_279 [label="parameters\nuint256 _fee"]
 	if_280 [label="if\ntests/contract_testcases/ewasm/rubixi.sol:113:18-42"]
-	more_281 [label="more\ntests/contract_testcases/ewasm/rubixi.sol:113:27-28"]
+	more_281 [label="more\ntests/contract_testcases/ewasm/rubixi.sol:113:22-31"]
 	variable_282 [label="variable: _fee\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:113:22-26"]
 	number_literal_283 [label="uint256 literal: 10\ntests/contract_testcases/ewasm/rubixi.sol:113:29-31"]
 	expr_284 [label="expression\ntests/contract_testcases/ewasm/rubixi.sol:113:33-41"]
@@ -290,47 +290,47 @@ strict digraph "tests/contract_testcases/ewasm/rubixi.sol" {
 	currentMultiplier [label="function currentMultiplier\ncontract: Rubixi\ntests/contract_testcases/ewasm/rubixi.sol:119:10-95\nsignature currentMultiplier()\nvisibility public\nmutability view"]
 	returns [label="returns\nuint256 multiplier\nstring info"]
 	expr_292 [label="expression\ntests/contract_testcases/ewasm/rubixi.sol:120:18-48"]
-	assign_293 [label="assign\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:120:29-30"]
+	assign_293 [label="assign\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:120:18-48"]
 	variable_294 [label="variable: multiplier\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:120:18-28"]
 	storage_load_295 [label="storage load uint256\ntests/contract_testcases/ewasm/rubixi.sol:120:31-48"]
 	storage_var_296 [label="storage variable\nRubixi.pyramidMultiplier\nuint256 storage\ntests/contract_testcases/ewasm/rubixi.sol:120:31-48"]
 	expr_297 [label="expression\ntests/contract_testcases/ewasm/rubixi.sol:121:18-314"]
-	assign_298 [label="assign\nstring\ntests/contract_testcases/ewasm/rubixi.sol:121:23-24"]
+	assign_298 [label="assign\nstring\ntests/contract_testcases/ewasm/rubixi.sol:121:18-314"]
 	variable_299 [label="variable: info\nstring\ntests/contract_testcases/ewasm/rubixi.sol:121:18-22"]
 	alloc_array [label="alloc array string\ninitializer: 54686973206d756c7469706c696572206170706c69657320746f20796f7520617320736f6f6e206173207472616e73616374696f6e2069732072656365697665642c206d6179206265206c6f776572656420746f2068617374656e207061796f757473206f7220696e63726561736564206966207061796f75747320617265206661737420656e6f7567682e2044756520746f206e6f20666c6f6174206f7220646563696d616c732c206d756c7469706c696572206973207831303020666f722061206672616374696f6e616c206d756c7469706c69657220652e672e203235302069732061637475616c6c79206120322e3578206d756c7469706c6965722e20436170706564206174203378206d617820616e6420312e3278206d696e2e\ntests/contract_testcases/ewasm/rubixi.sol:121:25-314"]
 	number_literal_301 [label="uint32 literal: 287\ntests/contract_testcases/ewasm/rubixi.sol:121:25-314"]
 	currentFeePercentage [label="function currentFeePercentage\ncontract: Rubixi\ntests/contract_testcases/ewasm/rubixi.sol:124:10-91\nsignature currentFeePercentage()\nvisibility public\nmutability view"]
 	returns_303 [label="returns\nuint256 fee\nstring info"]
 	expr_304 [label="expression\ntests/contract_testcases/ewasm/rubixi.sol:125:18-34"]
-	assign_305 [label="assign\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:125:22-23"]
+	assign_305 [label="assign\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:125:18-34"]
 	variable_306 [label="variable: fee\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:125:18-21"]
 	storage_load_307 [label="storage load uint256\ntests/contract_testcases/ewasm/rubixi.sol:125:24-34"]
 	storage_var_308 [label="storage variable\nRubixi.feePercent\nuint256 storage\ntests/contract_testcases/ewasm/rubixi.sol:125:24-34"]
 	expr_309 [label="expression\ntests/contract_testcases/ewasm/rubixi.sol:126:18-159"]
-	assign_310 [label="assign\nstring\ntests/contract_testcases/ewasm/rubixi.sol:126:23-24"]
+	assign_310 [label="assign\nstring\ntests/contract_testcases/ewasm/rubixi.sol:126:18-159"]
 	variable_311 [label="variable: info\nstring\ntests/contract_testcases/ewasm/rubixi.sol:126:18-22"]
 	alloc_array_312 [label="alloc array string\ninitializer: 53686f776e20696e202520666f726d2e204665652069732068616c766564283530252920666f7220616d6f756e747320657175616c206f722067726561746572207468616e203530206574686572732e2028466565206d6179206368616e67652c206275742069732063617070656420746f2061206d6178696d756d206f662031302529\ntests/contract_testcases/ewasm/rubixi.sol:126:25-159"]
 	number_literal_313 [label="uint32 literal: 132\ntests/contract_testcases/ewasm/rubixi.sol:126:25-159"]
 	currentPyramidBalanceApproximately [label="function currentPyramidBalanceApproximately\ncontract: Rubixi\ntests/contract_testcases/ewasm/rubixi.sol:129:10-116\nsignature currentPyramidBalanceApproximately()\nvisibility public\nmutability view"]
 	returns_315 [label="returns\nuint256 pyramidBalance\nstring info"]
 	expr_316 [label="expression\ntests/contract_testcases/ewasm/rubixi.sol:130:18-52"]
-	assign_317 [label="assign\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:130:33-34"]
+	assign_317 [label="assign\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:130:18-52"]
 	variable_318 [label="variable: pyramidBalance\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:130:18-32"]
-	divide_319 [label="divide\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:130:43-44"]
+	divide_319 [label="divide\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:130:35-52"]
 	storage_load_320 [label="storage load uint256\ntests/contract_testcases/ewasm/rubixi.sol:130:35-42"]
 	storage_var_321 [label="storage variable\nRubixi.balance\nuint256 storage\ntests/contract_testcases/ewasm/rubixi.sol:130:35-42"]
 	number_literal_322 [label="uint256 literal: 1000000000000000000\ntests/contract_testcases/ewasm/rubixi.sol:130:45-52"]
 	expr_323 [label="expression\ntests/contract_testcases/ewasm/rubixi.sol:131:18-229"]
-	assign_324 [label="assign\nstring\ntests/contract_testcases/ewasm/rubixi.sol:131:23-24"]
+	assign_324 [label="assign\nstring\ntests/contract_testcases/ewasm/rubixi.sol:131:18-229"]
 	variable_325 [label="variable: info\nstring\ntests/contract_testcases/ewasm/rubixi.sol:131:18-22"]
 	alloc_array_326 [label="alloc array string\ninitializer: 416c6c2062616c616e63652076616c75657320617265206d6561737572656420696e204574686572732c206e6f746520746861742064756520746f206e6f20646563696d616c20706c6163696e672c2074686573652076616c7565732073686f7720757020617320696e746567657273206f6e6c792c2077697468696e2074686520636f6e747261637420697473656c6620796f752077696c6c206765742074686520657861637420646563696d616c2076616c756520796f752061726520737570706f73656420746f\ntests/contract_testcases/ewasm/rubixi.sol:131:25-229"]
 	number_literal_327 [label="uint32 literal: 202\ntests/contract_testcases/ewasm/rubixi.sol:131:25-229"]
 	nextPayoutWhenPyramidBalanceTotalsApproximately [label="function nextPayoutWhenPyramidBalanceTotalsApproximately\ncontract: Rubixi\ntests/contract_testcases/ewasm/rubixi.sol:134:10-108\nsignature nextPayoutWhenPyramidBalanceTotalsApproximately()\nvisibility public\nmutability view"]
 	returns_329 [label="returns\nuint256 balancePayout"]
 	expr_330 [label="expression\ntests/contract_testcases/ewasm/rubixi.sol:135:18-76"]
-	assign_331 [label="assign\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:135:32-33"]
+	assign_331 [label="assign\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:135:18-76"]
 	variable_332 [label="variable: balancePayout\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:135:18-31"]
-	divide_333 [label="divide\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:135:67-68"]
+	divide_333 [label="divide\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:135:34-76"]
 	storage_load_334 [label="storage load uint256\ntests/contract_testcases/ewasm/rubixi.sol:135:34-66"]
 	structmember_335 [label="struct member #1 uint256 storage\ntests/contract_testcases/ewasm/rubixi.sol:135:60-66"]
 	subscript_336 [label="subscript struct Rubixi.Participant[] storage\ntests/contract_testcases/ewasm/rubixi.sol:135:34-59"]
@@ -341,25 +341,25 @@ strict digraph "tests/contract_testcases/ewasm/rubixi.sol" {
 	feesSeperateFromBalanceApproximately [label="function feesSeperateFromBalanceApproximately\ncontract: Rubixi\ntests/contract_testcases/ewasm/rubixi.sol:138:10-88\nsignature feesSeperateFromBalanceApproximately()\nvisibility public\nmutability view"]
 	returns_342 [label="returns\nuint256 fees"]
 	expr_343 [label="expression\ntests/contract_testcases/ewasm/rubixi.sol:139:18-48"]
-	assign_344 [label="assign\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:139:23-24"]
+	assign_344 [label="assign\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:139:18-48"]
 	variable_345 [label="variable: fees\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:139:18-22"]
-	divide_346 [label="divide\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:139:39-40"]
+	divide_346 [label="divide\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:139:25-48"]
 	storage_load_347 [label="storage load uint256\ntests/contract_testcases/ewasm/rubixi.sol:139:25-38"]
 	storage_var_348 [label="storage variable\nRubixi.collectedFees\nuint256 storage\ntests/contract_testcases/ewasm/rubixi.sol:139:25-38"]
 	number_literal_349 [label="uint256 literal: 1000000000000000000\ntests/contract_testcases/ewasm/rubixi.sol:139:41-48"]
 	totalParticipants [label="function totalParticipants\ncontract: Rubixi\ntests/contract_testcases/ewasm/rubixi.sol:142:10-70\nsignature totalParticipants()\nvisibility public\nmutability view"]
 	returns_351 [label="returns\nuint256 count"]
 	expr_352 [label="expression\ntests/contract_testcases/ewasm/rubixi.sol:143:18-45"]
-	assign_353 [label="assign\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:143:24-25"]
+	assign_353 [label="assign\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:143:18-45"]
 	variable_354 [label="variable: count\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:143:18-23"]
 	array_length_355 [label="array length uint256\nelement struct Rubixi.Participant\ntests/contract_testcases/ewasm/rubixi.sol:143:39-45"]
 	storage_var_356 [label="storage variable\nRubixi.participants\nstruct Rubixi.Participant[] storage\ntests/contract_testcases/ewasm/rubixi.sol:143:26-38"]
 	numberOfParticipantsWaitingForPayout [label="function numberOfParticipantsWaitingForPayout\ncontract: Rubixi\ntests/contract_testcases/ewasm/rubixi.sol:146:10-89\nsignature numberOfParticipantsWaitingForPayout()\nvisibility public\nmutability view"]
 	returns_358 [label="returns\nuint256 count"]
 	expr_359 [label="expression\ntests/contract_testcases/ewasm/rubixi.sol:147:18-59"]
-	assign_360 [label="assign\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:147:24-25"]
+	assign_360 [label="assign\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:147:18-59"]
 	variable_361 [label="variable: count\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:147:18-23"]
-	subtract_362 [label="subtract\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:147:46-47"]
+	subtract_362 [label="subtract\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:147:26-59"]
 	array_length_363 [label="array length uint256\nelement struct Rubixi.Participant\ntests/contract_testcases/ewasm/rubixi.sol:147:39-45"]
 	storage_var_364 [label="storage variable\nRubixi.participants\nstruct Rubixi.Participant[] storage\ntests/contract_testcases/ewasm/rubixi.sol:147:26-38"]
 	storage_load_365 [label="storage load uint256\ntests/contract_testcases/ewasm/rubixi.sol:147:48-59"]
@@ -368,14 +368,14 @@ strict digraph "tests/contract_testcases/ewasm/rubixi.sol" {
 	parameters_368 [label="parameters\nuint256 orderInPyramid"]
 	returns_369 [label="returns\naddress Address\nuint256 Payout"]
 	if_370 [label="if\ntests/contract_testcases/ewasm/rubixi.sol:151:18-154:19"]
-	less_equal [label="less equal\ntests/contract_testcases/ewasm/rubixi.sol:151:37-39"]
+	less_equal [label="less equal\ntests/contract_testcases/ewasm/rubixi.sol:151:22-59"]
 	variable_372 [label="variable: orderInPyramid\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:151:22-36"]
 	array_length_373 [label="array length uint256\nelement struct Rubixi.Participant\ntests/contract_testcases/ewasm/rubixi.sol:151:53-59"]
 	storage_var_374 [label="storage variable\nRubixi.participants\nstruct Rubixi.Participant[] storage\ntests/contract_testcases/ewasm/rubixi.sol:151:40-52"]
 	expr_375 [label="expression\ntests/contract_testcases/ewasm/rubixi.sol:153:26-80"]
-	assign_376 [label="assign\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:153:33-34"]
+	assign_376 [label="assign\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:153:26-80"]
 	variable_377 [label="variable: Payout\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:153:26-32"]
-	divide_378 [label="divide\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:153:71-72"]
+	divide_378 [label="divide\nuint256\ntests/contract_testcases/ewasm/rubixi.sol:153:35-80"]
 	storage_load_379 [label="storage load uint256\ntests/contract_testcases/ewasm/rubixi.sol:153:35-70"]
 	structmember_380 [label="struct member #1 uint256 storage\ntests/contract_testcases/ewasm/rubixi.sol:153:64-70"]
 	subscript_381 [label="subscript struct Rubixi.Participant[] storage\ntests/contract_testcases/ewasm/rubixi.sol:153:35-63"]

+ 15 - 15
tests/contract_testcases/ewasm/standalone_call.dot

@@ -14,7 +14,7 @@ strict digraph "tests/contract_testcases/ewasm/standalone_call.sol" {
 	return_14 [label="return\ntests/contract_testcases/ewasm/standalone_call.sol:14:9-29"]
 	list_15 [label="list\ntests/contract_testcases/ewasm/standalone_call.sol:14:9-29"]
 	number_literal_16 [label="int256 literal: 1\ntests/contract_testcases/ewasm/standalone_call.sol:14:17-18"]
-	add [label="add\nint256\ntests/contract_testcases/ewasm/standalone_call.sol:14:22-23"]
+	add [label="add\nint256\ntests/contract_testcases/ewasm/standalone_call.sol:14:20-25"]
 	variable [label="variable: c\nint256\ntests/contract_testcases/ewasm/standalone_call.sol:14:20-21"]
 	number_literal_19 [label="int256 literal: 2\ntests/contract_testcases/ewasm/standalone_call.sol:14:24-25"]
 	number_literal_20 [label="int256 literal: 3\ntests/contract_testcases/ewasm/standalone_call.sol:14:27-28"]
@@ -39,53 +39,53 @@ strict digraph "tests/contract_testcases/ewasm/standalone_call.sol" {
 	internal_function_39 [label="function(int256) internal pure returns (void)\nBABYLINK.multipleRetuns\ntests/contract_testcases/ewasm/standalone_call.sol:28:9-31"]
 	number_literal_40 [label="int256 literal: 9\ntests/contract_testcases/ewasm/standalone_call.sol:28:28-29"]
 	expr_41 [label="expression\ntests/contract_testcases/ewasm/standalone_call.sol:29:9-27"]
-	add_42 [label="add\nint256\ntests/contract_testcases/ewasm/standalone_call.sol:29:11-12"]
+	add_42 [label="add\nint256\ntests/contract_testcases/ewasm/standalone_call.sol:29:9-27"]
 	number_literal_43 [label="int256 literal: 1\ntests/contract_testcases/ewasm/standalone_call.sol:29:9-10"]
 	call_internal_function_44 [label="call internal function\ntests/contract_testcases/ewasm/standalone_call.sol:29:13-27"]
 	internal_function_45 [label="function() internal pure returns (int256)\nBABYLINK.singleReturn\ntests/contract_testcases/ewasm/standalone_call.sol:29:13-27"]
 	expr_46 [label="expression\ntests/contract_testcases/ewasm/standalone_call.sol:30:9-27"]
-	subtract [label="subtract\nint256\ntests/contract_testcases/ewasm/standalone_call.sol:30:11-12"]
+	subtract [label="subtract\nint256\ntests/contract_testcases/ewasm/standalone_call.sol:30:9-27"]
 	number_literal_48 [label="int256 literal: 1\ntests/contract_testcases/ewasm/standalone_call.sol:30:9-10"]
 	call_internal_function_49 [label="call internal function\ntests/contract_testcases/ewasm/standalone_call.sol:30:13-27"]
 	internal_function_50 [label="function() internal pure returns (int256)\nBABYLINK.singleReturn\ntests/contract_testcases/ewasm/standalone_call.sol:30:13-27"]
 	expr_51 [label="expression\ntests/contract_testcases/ewasm/standalone_call.sol:31:9-27"]
-	multiply [label="multiply\nint256\ntests/contract_testcases/ewasm/standalone_call.sol:31:11-12"]
+	multiply [label="multiply\nint256\ntests/contract_testcases/ewasm/standalone_call.sol:31:9-27"]
 	number_literal_53 [label="int256 literal: 1\ntests/contract_testcases/ewasm/standalone_call.sol:31:9-10"]
 	call_internal_function_54 [label="call internal function\ntests/contract_testcases/ewasm/standalone_call.sol:31:13-27"]
 	internal_function_55 [label="function() internal pure returns (int256)\nBABYLINK.singleReturn\ntests/contract_testcases/ewasm/standalone_call.sol:31:13-27"]
 	expr_56 [label="expression\ntests/contract_testcases/ewasm/standalone_call.sol:32:9-27"]
-	divide [label="divide\nint256\ntests/contract_testcases/ewasm/standalone_call.sol:32:11-12"]
+	divide [label="divide\nint256\ntests/contract_testcases/ewasm/standalone_call.sol:32:9-27"]
 	number_literal_58 [label="int256 literal: 1\ntests/contract_testcases/ewasm/standalone_call.sol:32:9-10"]
 	call_internal_function_59 [label="call internal function\ntests/contract_testcases/ewasm/standalone_call.sol:32:13-27"]
 	internal_function_60 [label="function() internal pure returns (int256)\nBABYLINK.singleReturn\ntests/contract_testcases/ewasm/standalone_call.sol:32:13-27"]
 	expr_61 [label="expression\ntests/contract_testcases/ewasm/standalone_call.sol:33:9-27"]
-	bitwise_or [label="bitwise or\nint256\ntests/contract_testcases/ewasm/standalone_call.sol:33:11-12"]
+	bitwise_or [label="bitwise or\nint256\ntests/contract_testcases/ewasm/standalone_call.sol:33:9-27"]
 	number_literal_63 [label="int256 literal: 1\ntests/contract_testcases/ewasm/standalone_call.sol:33:9-10"]
 	call_internal_function_64 [label="call internal function\ntests/contract_testcases/ewasm/standalone_call.sol:33:13-27"]
 	internal_function_65 [label="function() internal pure returns (int256)\nBABYLINK.singleReturn\ntests/contract_testcases/ewasm/standalone_call.sol:33:13-27"]
 	expr_66 [label="expression\ntests/contract_testcases/ewasm/standalone_call.sol:34:9-27"]
-	bitwise_and [label="bitwise and\nint256\ntests/contract_testcases/ewasm/standalone_call.sol:34:11-12"]
+	bitwise_and [label="bitwise and\nint256\ntests/contract_testcases/ewasm/standalone_call.sol:34:9-27"]
 	number_literal_68 [label="int256 literal: 1\ntests/contract_testcases/ewasm/standalone_call.sol:34:9-10"]
 	call_internal_function_69 [label="call internal function\ntests/contract_testcases/ewasm/standalone_call.sol:34:13-27"]
 	internal_function_70 [label="function() internal pure returns (int256)\nBABYLINK.singleReturn\ntests/contract_testcases/ewasm/standalone_call.sol:34:13-27"]
 	expr_71 [label="expression\ntests/contract_testcases/ewasm/standalone_call.sol:35:9-28"]
-	shift_left [label="shift left\nuint8\ntests/contract_testcases/ewasm/standalone_call.sol:35:11-13"]
+	shift_left [label="shift left\nuint8\ntests/contract_testcases/ewasm/standalone_call.sol:35:9-28"]
 	number_literal_73 [label="uint8 literal: 1\ntests/contract_testcases/ewasm/standalone_call.sol:35:9-10"]
-	trunc [label="truncate uint8\ntests/contract_testcases/ewasm/standalone_call.sol:35:11-13"]
+	trunc [label="truncate uint8\ntests/contract_testcases/ewasm/standalone_call.sol:35:9-28"]
 	call_internal_function_75 [label="call internal function\ntests/contract_testcases/ewasm/standalone_call.sol:35:14-28"]
 	internal_function_76 [label="function() internal pure returns (int256)\nBABYLINK.singleReturn\ntests/contract_testcases/ewasm/standalone_call.sol:35:14-28"]
 	expr_77 [label="expression\ntests/contract_testcases/ewasm/standalone_call.sol:36:9-28"]
-	shift_right [label="shift right\nuint8\ntests/contract_testcases/ewasm/standalone_call.sol:36:11-13"]
+	shift_right [label="shift right\nuint8\ntests/contract_testcases/ewasm/standalone_call.sol:36:9-28"]
 	number_literal_79 [label="uint8 literal: 1\ntests/contract_testcases/ewasm/standalone_call.sol:36:9-10"]
-	trunc_80 [label="truncate uint8\ntests/contract_testcases/ewasm/standalone_call.sol:36:11-13"]
+	trunc_80 [label="truncate uint8\ntests/contract_testcases/ewasm/standalone_call.sol:36:9-28"]
 	call_internal_function_81 [label="call internal function\ntests/contract_testcases/ewasm/standalone_call.sol:36:14-28"]
 	internal_function_82 [label="function() internal pure returns (int256)\nBABYLINK.singleReturn\ntests/contract_testcases/ewasm/standalone_call.sol:36:14-28"]
 	expr_83 [label="expression\ntests/contract_testcases/ewasm/standalone_call.sol:37:9-22"]
-	not [label="not\ntests/contract_testcases/ewasm/standalone_call.sol:37:9-10"]
+	not [label="not\ntests/contract_testcases/ewasm/standalone_call.sol:37:9-22"]
 	call_internal_function_85 [label="call internal function\ntests/contract_testcases/ewasm/standalone_call.sol:37:10-22"]
 	internal_function_86 [label="function() internal pure returns (bool)\nBABYLINK.returnBool\ntests/contract_testcases/ewasm/standalone_call.sol:37:10-22"]
 	expr_87 [label="expression\ntests/contract_testcases/ewasm/standalone_call.sol:38:9-24"]
-	complement [label="complement int256\ntests/contract_testcases/ewasm/standalone_call.sol:38:9-10"]
+	complement [label="complement int256\ntests/contract_testcases/ewasm/standalone_call.sol:38:9-24"]
 	call_internal_function_89 [label="call internal function\ntests/contract_testcases/ewasm/standalone_call.sol:38:10-24"]
 	internal_function_90 [label="function() internal pure returns (int256)\nBABYLINK.singleReturn\ntests/contract_testcases/ewasm/standalone_call.sol:38:10-24"]
 	expr_91 [label="expression\ntests/contract_testcases/ewasm/standalone_call.sol:39:9-24"]
@@ -102,9 +102,9 @@ strict digraph "tests/contract_testcases/ewasm/standalone_call.sol" {
 	external_function [label="function() external pure returns (void)\nfoo.bar\ntests/contract_testcases/ewasm/standalone_call.sol:42:9-16"]
 	variable_103 [label="variable: r\ncontract foo\ntests/contract_testcases/ewasm/standalone_call.sol:42:9-10"]
 	expr_104 [label="expression\ntests/contract_testcases/ewasm/standalone_call.sol:44:9-24"]
-	add_105 [label="add\nrational\ntests/contract_testcases/ewasm/standalone_call.sol:44:11-12"]
+	add_105 [label="add\nrational\ntests/contract_testcases/ewasm/standalone_call.sol:44:9-24"]
 	number_literal_106 [label="uint8 literal: 1\ntests/contract_testcases/ewasm/standalone_call.sol:44:9-10"]
-	add_107 [label="add\nrational\ntests/contract_testcases/ewasm/standalone_call.sol:44:18-19"]
+	add_107 [label="add\nrational\ntests/contract_testcases/ewasm/standalone_call.sol:44:14-23"]
 	rational_literal [label="rational rational literal: 13/10\ntests/contract_testcases/ewasm/standalone_call.sol:44:14-17"]
 	rational_literal_109 [label="rational rational literal: 9/5\ntests/contract_testcases/ewasm/standalone_call.sol:44:20-23"]
 	var_decl_110 [label="variable decl function(int256) external returns (int256,int256,int256) fptr\ntests/contract_testcases/ewasm/standalone_call.sol:46:9-83"]

+ 6 - 6
tests/contract_testcases/solana/address_member_call.dot

@@ -5,7 +5,7 @@ strict digraph "tests/contract_testcases/solana/address_member_call.sol" {
 	parameters [label="parameters\naddress[] _receivers\nuint64[] _amounts\nstring _payment"]
 	expr [label="expression\ntests/contract_testcases/solana/address_member_call.sol:18:9-21:10"]
 	builtins [label="builtin Require\ntests/contract_testcases/solana/address_member_call.sol:18:9-16"]
-	equal [label="equal\ntests/contract_testcases/solana/address_member_call.sol:19:31-33"]
+	equal [label="equal\ntests/contract_testcases/solana/address_member_call.sol:19:13-49"]
 	builtins_10 [label="builtin ArrayLength\ntests/contract_testcases/solana/address_member_call.sol:19:13-30"]
 	variable [label="variable: _receivers\naddress[]\ntests/contract_testcases/solana/address_member_call.sol:19:13-23"]
 	builtins_12 [label="builtin ArrayLength\ntests/contract_testcases/solana/address_member_call.sol:19:34-49"]
@@ -17,7 +17,7 @@ strict digraph "tests/contract_testcases/solana/address_member_call.sol" {
 	for [label="for\ntests/contract_testcases/solana/address_member_call.sol:24:9-26:10"]
 	var_decl_19 [label="variable decl uint8 i\ntests/contract_testcases/solana/address_member_call.sol:24:14-25"]
 	number_literal_20 [label="uint8 literal: 0\ntests/contract_testcases/solana/address_member_call.sol:24:24-25"]
-	less [label="less\ntests/contract_testcases/solana/address_member_call.sol:24:29-30"]
+	less [label="less\ntests/contract_testcases/solana/address_member_call.sol:24:27-48"]
 	zero_ext [label="zero extend uint32\ntests/contract_testcases/solana/address_member_call.sol:24:27-28"]
 	variable_23 [label="variable: i\nuint8\ntests/contract_testcases/solana/address_member_call.sol:24:27-28"]
 	builtins_24 [label="builtin ArrayLength\ntests/contract_testcases/solana/address_member_call.sol:24:31-48"]
@@ -26,9 +26,9 @@ strict digraph "tests/contract_testcases/solana/address_member_call.sol" {
 	post_increment [label="post increment\nuint8\ntests/contract_testcases/solana/address_member_call.sol:24:50-53"]
 	variable_28 [label="variable: i\nuint8\ntests/contract_testcases/solana/address_member_call.sol:24:50-51"]
 	expr_29 [label="expression\ntests/contract_testcases/solana/address_member_call.sol:25:13-33"]
-	assign [label="assign\nvoid\ntests/contract_testcases/solana/address_member_call.sol:25:19-21"]
+	assign [label="assign\nvoid\ntests/contract_testcases/solana/address_member_call.sol:25:13-33"]
 	variable_31 [label="variable: total\nuint64\ntests/contract_testcases/solana/address_member_call.sol:25:13-18"]
-	add [label="add\nuint64\ntests/contract_testcases/solana/address_member_call.sol:25:19-21"]
+	add [label="add\nuint64\ntests/contract_testcases/solana/address_member_call.sol:25:13-33"]
 	variable_33 [label="variable: total\nuint64\ntests/contract_testcases/solana/address_member_call.sol:25:13-18"]
 	load [label="load uint64\ntests/contract_testcases/solana/address_member_call.sol:25:22-33"]
 	subscript [label="subscript uint64[]\ntests/contract_testcases/solana/address_member_call.sol:25:22-33"]
@@ -36,7 +36,7 @@ strict digraph "tests/contract_testcases/solana/address_member_call.sol" {
 	variable_37 [label="variable: i\nuint8\ntests/contract_testcases/solana/address_member_call.sol:25:31-32"]
 	expr_38 [label="expression\ntests/contract_testcases/solana/address_member_call.sol:27:9-30:10"]
 	builtins_39 [label="builtin Require\ntests/contract_testcases/solana/address_member_call.sol:27:9-16"]
-	equal_40 [label="equal\ntests/contract_testcases/solana/address_member_call.sol:28:19-21"]
+	equal_40 [label="equal\ntests/contract_testcases/solana/address_member_call.sol:28:13-31"]
 	variable_41 [label="variable: total\nuint64\ntests/contract_testcases/solana/address_member_call.sol:28:13-18"]
 	cast [label="cast uint64\ntests/contract_testcases/solana/address_member_call.sol:28:22-31"]
 	builtins_43 [label="builtin Value\ntests/contract_testcases/solana/address_member_call.sol:28:22-31"]
@@ -45,7 +45,7 @@ strict digraph "tests/contract_testcases/solana/address_member_call.sol" {
 	for_46 [label="for\ntests/contract_testcases/solana/address_member_call.sol:32:9-35:10"]
 	var_decl_47 [label="variable decl uint8 i\ntests/contract_testcases/solana/address_member_call.sol:32:14-25"]
 	number_literal_48 [label="uint8 literal: 0\ntests/contract_testcases/solana/address_member_call.sol:32:24-25"]
-	less_49 [label="less\ntests/contract_testcases/solana/address_member_call.sol:32:29-30"]
+	less_49 [label="less\ntests/contract_testcases/solana/address_member_call.sol:32:27-48"]
 	zero_ext_50 [label="zero extend uint32\ntests/contract_testcases/solana/address_member_call.sol:32:27-28"]
 	variable_51 [label="variable: i\nuint8\ntests/contract_testcases/solana/address_member_call.sol:32:27-28"]
 	builtins_52 [label="builtin ArrayLength\ntests/contract_testcases/solana/address_member_call.sol:32:31-48"]

+ 1 - 1
tests/contract_testcases/solana/asm_reserved_words.dot

@@ -4,7 +4,7 @@ strict digraph "tests/contract_testcases/solana/asm_reserved_words.sol" {
 	parameters [label="parameters\nbool case"]
 	returns [label="returns\nbool "]
 	return [label="return\ntests/contract_testcases/solana/asm_reserved_words.sol:4:3-15"]
-	not [label="not\ntests/contract_testcases/solana/asm_reserved_words.sol:4:10-11"]
+	not [label="not\ntests/contract_testcases/solana/asm_reserved_words.sol:4:10-15"]
 	variable [label="variable: case\nbool\ntests/contract_testcases/solana/asm_reserved_words.sol:4:11-15"]
 	diagnostic [label="found contract 'default'\nlevel Debug\ntests/contract_testcases/solana/asm_reserved_words.sol:1:1-2:18"]
 	contracts -> contract

+ 4 - 4
tests/contract_testcases/solana/assign_array_in_array.dot

@@ -5,7 +5,7 @@ strict digraph "tests/contract_testcases/solana/assign_array_in_array.sol" {
 	fixed [label="function fixed\ncontract: C\ntests/contract_testcases/solana/assign_array_in_array.sol:3:2-25\nsignature fixed()\nvisibility public\nmutability nonpayable"]
 	var_decl [label="variable decl uint256[3][4] iPj\ntests/contract_testcases/solana/assign_array_in_array.sol:4:3-27"]
 	expr [label="expression\ntests/contract_testcases/solana/assign_array_in_array.sol:5:3-19"]
-	assign [label="assign\nuint256[3]\ntests/contract_testcases/solana/assign_array_in_array.sol:5:10-11"]
+	assign [label="assign\nuint256[3]\ntests/contract_testcases/solana/assign_array_in_array.sol:5:3-19"]
 	subscript [label="subscript uint256[3][4]\ntests/contract_testcases/solana/assign_array_in_array.sol:5:3-9"]
 	variable [label="variable: iPj\nuint256[3][4]\ntests/contract_testcases/solana/assign_array_in_array.sol:5:3-6"]
 	number_literal [label="uint32 literal: 0\ntests/contract_testcases/solana/assign_array_in_array.sol:5:7-8"]
@@ -16,7 +16,7 @@ strict digraph "tests/contract_testcases/solana/assign_array_in_array.sol" {
 	dynamic [label="function dynamic\ncontract: C\ntests/contract_testcases/solana/assign_array_in_array.sol:8:2-27\nsignature dynamic()\nvisibility public\nmutability nonpayable"]
 	var_decl_17 [label="variable decl uint256[][4] iPj\ntests/contract_testcases/solana/assign_array_in_array.sol:9:3-26"]
 	expr_18 [label="expression\ntests/contract_testcases/solana/assign_array_in_array.sol:10:3-28"]
-	assign_19 [label="assign\nuint256[]\ntests/contract_testcases/solana/assign_array_in_array.sol:10:10-11"]
+	assign_19 [label="assign\nuint256[]\ntests/contract_testcases/solana/assign_array_in_array.sol:10:3-28"]
 	subscript_20 [label="subscript uint256[][4]\ntests/contract_testcases/solana/assign_array_in_array.sol:10:3-9"]
 	variable_21 [label="variable: iPj\nuint256[][4]\ntests/contract_testcases/solana/assign_array_in_array.sol:10:3-6"]
 	number_literal_22 [label="uint32 literal: 0\ntests/contract_testcases/solana/assign_array_in_array.sol:10:7-8"]
@@ -25,7 +25,7 @@ strict digraph "tests/contract_testcases/solana/assign_array_in_array.sol" {
 	fixed_struct [label="function fixed_struct\ncontract: C\ntests/contract_testcases/solana/assign_array_in_array.sol:16:2-32\nsignature fixed_struct()\nvisibility public\nmutability nonpayable"]
 	var_decl_26 [label="variable decl struct C.Sfixed iPj\ntests/contract_testcases/solana/assign_array_in_array.sol:17:3-13"]
 	expr_27 [label="expression\ntests/contract_testcases/solana/assign_array_in_array.sol:18:3-19"]
-	assign_28 [label="assign\nuint256[3]\ntests/contract_testcases/solana/assign_array_in_array.sol:18:10-11"]
+	assign_28 [label="assign\nuint256[3]\ntests/contract_testcases/solana/assign_array_in_array.sol:18:3-19"]
 	structmember [label="struct member #0 uint256[3]\ntests/contract_testcases/solana/assign_array_in_array.sol:18:7-9"]
 	variable_30 [label="variable: iPj\nstruct C.Sfixed\ntests/contract_testcases/solana/assign_array_in_array.sol:18:3-6"]
 	array_literal_31 [label="array literal: uint256[3]\ntests/contract_testcases/solana/assign_array_in_array.sol:18:12-19"]
@@ -35,7 +35,7 @@ strict digraph "tests/contract_testcases/solana/assign_array_in_array.sol" {
 	dynamic_struct [label="function dynamic_struct\ncontract: C\ntests/contract_testcases/solana/assign_array_in_array.sol:21:2-34\nsignature dynamic_struct()\nvisibility public\nmutability nonpayable"]
 	var_decl_36 [label="variable decl struct C.Sdynamic iPj\ntests/contract_testcases/solana/assign_array_in_array.sol:22:3-15"]
 	expr_37 [label="expression\ntests/contract_testcases/solana/assign_array_in_array.sol:23:3-28"]
-	assign_38 [label="assign\nuint256[]\ntests/contract_testcases/solana/assign_array_in_array.sol:23:10-11"]
+	assign_38 [label="assign\nuint256[]\ntests/contract_testcases/solana/assign_array_in_array.sol:23:3-28"]
 	structmember_39 [label="struct member #0 uint256[]\ntests/contract_testcases/solana/assign_array_in_array.sol:23:7-9"]
 	variable_40 [label="variable: iPj\nstruct C.Sdynamic\ntests/contract_testcases/solana/assign_array_in_array.sol:23:3-6"]
 	alloc_array_41 [label="alloc array uint256[]\ntests/contract_testcases/solana/assign_array_in_array.sol:23:12-28"]

+ 1 - 1
tests/contract_testcases/solana/contract_var_base_function_init.dot

@@ -4,7 +4,7 @@ strict digraph "tests/contract_testcases/solana/contract_var_base_function_init.
 	parameters [label="parameters\nint256 a"]
 	returns [label="returns\nint256 "]
 	return [label="return\ntests/contract_testcases/solana/contract_var_base_function_init.sol:3:9-19"]
-	divide [label="divide\nint256\ntests/contract_testcases/solana/contract_var_base_function_init.sol:3:17-18"]
+	divide [label="divide\nint256\ntests/contract_testcases/solana/contract_var_base_function_init.sol:3:16-19"]
 	variable [label="variable: a\nint256\ntests/contract_testcases/solana/contract_var_base_function_init.sol:3:16-17"]
 	number_literal [label="int256 literal: 2\ntests/contract_testcases/solana/contract_var_base_function_init.sol:3:18-19"]
 	contract_10 [label="contract testing\ntests/contract_testcases/solana/contract_var_base_function_init.sol:6:1-7:22"]

+ 2 - 2
tests/contract_testcases/solana/destructure_assign_struct_member.dot

@@ -14,12 +14,12 @@ strict digraph "tests/contract_testcases/solana/destructure_assign_struct_member
 	list [label="list\ntests/contract_testcases/solana/destructure_assign_struct_member.sol:13:9-52"]
 	subscript [label="subscript mapping(uint176 => bytes32) storage\ntests/contract_testcases/solana/destructure_assign_struct_member.sol:13:25-37"]
 	storage_var [label="storage variable\nTestContract.Hashes\nmapping(uint176 => bytes32) storage\ntests/contract_testcases/solana/destructure_assign_struct_member.sol:13:25-31"]
-	add [label="add\nuint176\ntests/contract_testcases/solana/destructure_assign_struct_member.sol:13:34-35"]
+	add [label="add\nuint176\ntests/contract_testcases/solana/destructure_assign_struct_member.sol:13:32-36"]
 	variable_18 [label="variable: id\nuint176\ntests/contract_testcases/solana/destructure_assign_struct_member.sol:13:32-34"]
 	number_literal [label="uint176 literal: 1\ntests/contract_testcases/solana/destructure_assign_struct_member.sol:13:35-36"]
 	subscript_20 [label="subscript mapping(uint176 => bytes32) storage\ntests/contract_testcases/solana/destructure_assign_struct_member.sol:13:39-51"]
 	storage_var_21 [label="storage variable\nTestContract.Hashes\nmapping(uint176 => bytes32) storage\ntests/contract_testcases/solana/destructure_assign_struct_member.sol:13:39-45"]
-	add_22 [label="add\nuint176\ntests/contract_testcases/solana/destructure_assign_struct_member.sol:13:48-49"]
+	add_22 [label="add\nuint176\ntests/contract_testcases/solana/destructure_assign_struct_member.sol:13:46-50"]
 	variable_23 [label="variable: id\nuint176\ntests/contract_testcases/solana/destructure_assign_struct_member.sol:13:46-48"]
 	number_literal_24 [label="uint176 literal: 2\ntests/contract_testcases/solana/destructure_assign_struct_member.sol:13:49-50"]
 	diagnostic [label="found contract 'TestContract'\nlevel Debug\ntests/contract_testcases/solana/destructure_assign_struct_member.sol:1:57-2:23"]

+ 6 - 6
tests/contract_testcases/solana/doccomments_everywhere.dot

@@ -50,12 +50,12 @@ strict digraph "tests/contract_testcases/solana/doccomments_everywhere.sol" {
 	node_51 [label="constructor \ncontract: Property\ntests/contract_testcases/solana/doccomments_everywhere.sol:17:3-76\nsignature ()\nvisibility public\nmutability nonpayable"]
 	node_52 [label="receive \ncontract: Property\ntests/contract_testcases/solana/doccomments_everywhere.sol:19:3-29\nmutability payable"]
 	expr [label="expression\ntests/contract_testcases/solana/doccomments_everywhere.sol:20:5-68"]
-	assign [label="assign\nuint256 storage\ntests/contract_testcases/solana/doccomments_everywhere.sol:20:30-31"]
+	assign [label="assign\nuint256 storage\ntests/contract_testcases/solana/doccomments_everywhere.sol:20:5-68"]
 	subscript_55 [label="subscript mapping(address => uint256) storage\ntests/contract_testcases/solana/doccomments_everywhere.sol:20:5-29"]
 	storage_var_56 [label="storage variable\nProperty.valueLocked_\nmapping(address => uint256) storage\ntests/contract_testcases/solana/doccomments_everywhere.sol:20:5-17"]
 	cast [label="cast address\ntests/contract_testcases/solana/doccomments_everywhere.sol:20:18-28"]
 	builtins [label="builtin Sender\ntests/contract_testcases/solana/doccomments_everywhere.sol:20:18-28"]
-	add [label="add\nuint256\ntests/contract_testcases/solana/doccomments_everywhere.sol:20:57-58"]
+	add [label="add\nuint256\ntests/contract_testcases/solana/doccomments_everywhere.sol:20:32-68"]
 	storage_load_60 [label="storage load uint256\ntests/contract_testcases/solana/doccomments_everywhere.sol:20:32-56"]
 	subscript_61 [label="subscript mapping(address => uint256) storage\ntests/contract_testcases/solana/doccomments_everywhere.sol:20:32-56"]
 	storage_var_62 [label="storage variable\nProperty.valueLocked_\nmapping(address => uint256) storage\ntests/contract_testcases/solana/doccomments_everywhere.sol:20:32-44"]
@@ -89,7 +89,7 @@ strict digraph "tests/contract_testcases/solana/doccomments_everywhere.sol" {
 	parameters_90 [label="parameters\nuint256 _newSharesToSell\nuint256 _id"]
 	expr_91 [label="expression\ntests/contract_testcases/solana/doccomments_everywhere.sol:68:5-73"]
 	builtins_92 [label="builtin Require\ntests/contract_testcases/solana/doccomments_everywhere.sol:68:5-12"]
-	equal [label="equal\ntests/contract_testcases/solana/doccomments_everywhere.sol:68:24-26"]
+	equal [label="equal\ntests/contract_testcases/solana/doccomments_everywhere.sol:68:13-47"]
 	cast_94 [label="cast address\ntests/contract_testcases/solana/doccomments_everywhere.sol:68:13-23"]
 	builtins_95 [label="builtin Sender\ntests/contract_testcases/solana/doccomments_everywhere.sol:68:13-23"]
 	storage_load_96 [label="storage load address\ntests/contract_testcases/solana/doccomments_everywhere.sol:68:27-47"]
@@ -99,7 +99,7 @@ strict digraph "tests/contract_testcases/solana/doccomments_everywhere.sol" {
 	alloc_array [label="alloc array string\ninitializer: 596f7520617265206e6f7420746865206f776e6572\ntests/contract_testcases/solana/doccomments_everywhere.sol:68:49-72"]
 	number_literal [label="uint32 literal: 21\ntests/contract_testcases/solana/doccomments_everywhere.sol:68:49-72"]
 	expr_102 [label="expression\ntests/contract_testcases/solana/doccomments_everywhere.sol:69:5-43"]
-	assign_103 [label="assign\nuint256 storage\ntests/contract_testcases/solana/doccomments_everywhere.sol:69:25-26"]
+	assign_103 [label="assign\nuint256 storage\ntests/contract_testcases/solana/doccomments_everywhere.sol:69:5-43"]
 	subscript_104 [label="subscript mapping(uint256 => uint256) storage\ntests/contract_testcases/solana/doccomments_everywhere.sol:69:5-24"]
 	storage_var_105 [label="storage variable\nProperty.sellingTokens_\nmapping(uint256 => uint256) storage\ntests/contract_testcases/solana/doccomments_everywhere.sol:69:5-19"]
 	variable_106 [label="variable: _id\nuint256\ntests/contract_testcases/solana/doccomments_everywhere.sol:69:20-23"]
@@ -108,7 +108,7 @@ strict digraph "tests/contract_testcases/solana/doccomments_everywhere.sol" {
 	parameters_109 [label="parameters\nuint256 _newSharesToSell\nuint256 _id"]
 	expr_110 [label="expression\ntests/contract_testcases/solana/doccomments_everywhere.sol:73:5-73"]
 	builtins_111 [label="builtin Require\ntests/contract_testcases/solana/doccomments_everywhere.sol:73:5-12"]
-	equal_112 [label="equal\ntests/contract_testcases/solana/doccomments_everywhere.sol:73:24-26"]
+	equal_112 [label="equal\ntests/contract_testcases/solana/doccomments_everywhere.sol:73:13-47"]
 	cast_113 [label="cast address\ntests/contract_testcases/solana/doccomments_everywhere.sol:73:13-23"]
 	builtins_114 [label="builtin Sender\ntests/contract_testcases/solana/doccomments_everywhere.sol:73:13-23"]
 	storage_load_115 [label="storage load address\ntests/contract_testcases/solana/doccomments_everywhere.sol:73:27-47"]
@@ -118,7 +118,7 @@ strict digraph "tests/contract_testcases/solana/doccomments_everywhere.sol" {
 	alloc_array_119 [label="alloc array string\ninitializer: 596f7520617265206e6f7420746865206f776e6572\ntests/contract_testcases/solana/doccomments_everywhere.sol:73:49-72"]
 	number_literal_120 [label="uint32 literal: 21\ntests/contract_testcases/solana/doccomments_everywhere.sol:73:49-72"]
 	expr_121 [label="expression\ntests/contract_testcases/solana/doccomments_everywhere.sol:74:5-42"]
-	assign_122 [label="assign\nuint256 storage\ntests/contract_testcases/solana/doccomments_everywhere.sol:74:24-25"]
+	assign_122 [label="assign\nuint256 storage\ntests/contract_testcases/solana/doccomments_everywhere.sol:74:5-42"]
 	subscript_123 [label="subscript mapping(uint256 => uint256) storage\ntests/contract_testcases/solana/doccomments_everywhere.sol:74:5-23"]
 	storage_var_124 [label="storage variable\nProperty.buyingTokens_\nmapping(uint256 => uint256) storage\ntests/contract_testcases/solana/doccomments_everywhere.sol:74:5-18"]
 	variable_125 [label="variable: _id\nuint256\ntests/contract_testcases/solana/doccomments_everywhere.sol:74:19-22"]

+ 3 - 3
tests/contract_testcases/solana/expressions/bytes32_0.dot

@@ -3,19 +3,19 @@ strict digraph "tests/contract_testcases/solana/expressions/bytes32_0.sol" {
 	b32 [label="function b32\ncontract: x\ntests/contract_testcases/solana/expressions/bytes32_0.sol:3:13-59\nsignature b32()\nvisibility public\nmutability pure"]
 	returns [label="returns\nbytes32 r"]
 	expr [label="expression\ntests/contract_testcases/solana/expressions/bytes32_0.sol:4:17-31"]
-	assign [label="assign\nbytes32\ntests/contract_testcases/solana/expressions/bytes32_0.sol:4:19-20"]
+	assign [label="assign\nbytes32\ntests/contract_testcases/solana/expressions/bytes32_0.sol:4:17-31"]
 	variable [label="variable: r\nbytes32\ntests/contract_testcases/solana/expressions/bytes32_0.sol:4:17-18"]
 	number_literal [label="bytes32 literal: 0\ntests/contract_testcases/solana/expressions/bytes32_0.sol:4:21-31"]
 	b4 [label="function b4\ncontract: x\ntests/contract_testcases/solana/expressions/bytes32_0.sol:7:13-57\nsignature b4()\nvisibility public\nmutability pure"]
 	returns_10 [label="returns\nbytes4 r"]
 	expr_11 [label="expression\ntests/contract_testcases/solana/expressions/bytes32_0.sol:8:17-39"]
-	assign_12 [label="assign\nbytes4\ntests/contract_testcases/solana/expressions/bytes32_0.sol:8:19-20"]
+	assign_12 [label="assign\nbytes4\ntests/contract_testcases/solana/expressions/bytes32_0.sol:8:17-39"]
 	variable_13 [label="variable: r\nbytes4\ntests/contract_testcases/solana/expressions/bytes32_0.sol:8:17-18"]
 	number_literal_14 [label="bytes4 literal: 3405700781\ntests/contract_testcases/solana/expressions/bytes32_0.sol:8:21-39"]
 	b3 [label="function b3\ncontract: x\ntests/contract_testcases/solana/expressions/bytes32_0.sol:11:13-57\nsignature b3()\nvisibility public\nmutability pure"]
 	returns_16 [label="returns\nbytes3 r"]
 	expr_17 [label="expression\ntests/contract_testcases/solana/expressions/bytes32_0.sol:12:17-37"]
-	assign_18 [label="assign\nbytes3\ntests/contract_testcases/solana/expressions/bytes32_0.sol:12:19-20"]
+	assign_18 [label="assign\nbytes3\ntests/contract_testcases/solana/expressions/bytes32_0.sol:12:17-37"]
 	variable_19 [label="variable: r\nbytes3\ntests/contract_testcases/solana/expressions/bytes32_0.sol:12:17-18"]
 	number_literal_20 [label="bytes3 literal: 74291\ntests/contract_testcases/solana/expressions/bytes32_0.sol:12:21-37"]
 	diagnostic [label="found contract 'x'\nlevel Debug\ntests/contract_testcases/solana/expressions/bytes32_0.sol:2:9-20"]

+ 1 - 1
tests/contract_testcases/solana/expressions/contract_compare.dot

@@ -4,7 +4,7 @@ strict digraph "tests/contract_testcases/solana/expressions/contract_compare.sol
 	parameters [label="parameters\ncontract d left\ncontract d right"]
 	returns [label="returns\nbool "]
 	return [label="return\ntests/contract_testcases/solana/expressions/contract_compare.sol:4:3-22"]
-	less [label="less\ntests/contract_testcases/solana/expressions/contract_compare.sol:4:15-16"]
+	less [label="less\ntests/contract_testcases/solana/expressions/contract_compare.sol:4:10-22"]
 	variable [label="variable: left\ncontract d\ntests/contract_testcases/solana/expressions/contract_compare.sol:4:10-14"]
 	variable_9 [label="variable: right\ncontract d\ntests/contract_testcases/solana/expressions/contract_compare.sol:4:17-22"]
 	cmp_10 [label="function cmp\ncontract: c\ntests/contract_testcases/solana/expressions/contract_compare.sol:7:2-53\nsignature cmp(bytes32,bytes32)\nvisibility public\nmutability nonpayable"]

+ 2 - 2
tests/contract_testcases/solana/expressions/contract_no_init.dot

@@ -16,10 +16,10 @@ strict digraph "tests/contract_testcases/solana/expressions/contract_no_init.sol
 	post_decrement [label="post decrement\nint256\ntests/contract_testcases/solana/expressions/contract_no_init.sol:10:21-24"]
 	variable [label="variable: x\nint256\ntests/contract_testcases/solana/expressions/contract_no_init.sol:10:21-22"]
 	expr_18 [label="expression\ntests/contract_testcases/solana/expressions/contract_no_init.sol:11:21-36"]
-	assign [label="assign\ncontract other\ntests/contract_testcases/solana/expressions/contract_no_init.sol:11:23-24"]
+	assign [label="assign\ncontract other\ntests/contract_testcases/solana/expressions/contract_no_init.sol:11:21-36"]
 	variable_20 [label="variable: o\ncontract other\ntests/contract_testcases/solana/expressions/contract_no_init.sol:11:21-22"]
 	constructor [label="constructor contract other\ntests/contract_testcases/solana/expressions/contract_no_init.sol:11:25-36"]
-	more [label="more\ntests/contract_testcases/solana/expressions/contract_no_init.sol:12:26-27"]
+	more [label="more\ntests/contract_testcases/solana/expressions/contract_no_init.sol:12:24-29"]
 	variable_23 [label="variable: x\nint256\ntests/contract_testcases/solana/expressions/contract_no_init.sol:12:24-25"]
 	number_literal [label="int256 literal: 0\ntests/contract_testcases/solana/expressions/contract_no_init.sol:12:28-29"]
 	return_25 [label="return\ntests/contract_testcases/solana/expressions/contract_no_init.sol:14:17-29"]

+ 2 - 2
tests/contract_testcases/solana/for_if_no_else.dot

@@ -4,14 +4,14 @@ strict digraph "tests/contract_testcases/solana/for_if_no_else.sol" {
 	for [label="for\ntests/contract_testcases/solana/for_if_no_else.sol:2:2-4:13"]
 	var_decl [label="variable decl int256 i\ntests/contract_testcases/solana/for_if_no_else.sol:2:7-14"]
 	number_literal [label="int256 literal: 0\ntests/contract_testcases/solana/for_if_no_else.sol:2:13-14"]
-	less [label="less\ntests/contract_testcases/solana/for_if_no_else.sol:2:17-18"]
+	less [label="less\ntests/contract_testcases/solana/for_if_no_else.sol:2:16-21"]
 	variable [label="variable: i\nint256\ntests/contract_testcases/solana/for_if_no_else.sol:2:16-17"]
 	number_literal_9 [label="int256 literal: 10\ntests/contract_testcases/solana/for_if_no_else.sol:2:19-21"]
 	expr [label="expression\ntests/contract_testcases/solana/for_if_no_else.sol:2:23-26"]
 	post_increment [label="post increment\nint256\ntests/contract_testcases/solana/for_if_no_else.sol:2:23-26"]
 	variable_12 [label="variable: i\nint256\ntests/contract_testcases/solana/for_if_no_else.sol:2:23-24"]
 	if [label="if\ntests/contract_testcases/solana/for_if_no_else.sol:3:3-4:13"]
-	more [label="more\ntests/contract_testcases/solana/for_if_no_else.sol:3:9-10"]
+	more [label="more\ntests/contract_testcases/solana/for_if_no_else.sol:3:7-12"]
 	variable_15 [label="variable: i\nint256\ntests/contract_testcases/solana/for_if_no_else.sol:3:7-8"]
 	number_literal_16 [label="int256 literal: 0\ntests/contract_testcases/solana/for_if_no_else.sol:3:11-12"]
 	return [label="return\ntests/contract_testcases/solana/for_if_no_else.sol:4:4-12"]

+ 10 - 10
tests/contract_testcases/solana/issues678.dot

@@ -24,7 +24,7 @@ strict digraph "tests/contract_testcases/solana/issues678.sol" {
 	for [label="for\ntests/contract_testcases/solana/issues678.sol:22:9-25:10"]
 	var_decl_26 [label="variable decl uint256 i\ntests/contract_testcases/solana/issues678.sol:22:14-24"]
 	number_literal_27 [label="uint256 literal: 0\ntests/contract_testcases/solana/issues678.sol:22:23-24"]
-	less [label="less\ntests/contract_testcases/solana/issues678.sol:22:28-29"]
+	less [label="less\ntests/contract_testcases/solana/issues678.sol:22:26-44"]
 	variable [label="variable: i\nuint256\ntests/contract_testcases/solana/issues678.sol:22:26-27"]
 	zero_ext [label="zero extend uint256\ntests/contract_testcases/solana/issues678.sol:22:30-44"]
 	array_length_31 [label="array length uint32\nelement struct Shares.Share\ntests/contract_testcases/solana/issues678.sol:22:38-44"]
@@ -33,7 +33,7 @@ strict digraph "tests/contract_testcases/solana/issues678.sol" {
 	post_increment [label="post increment\nuint256\ntests/contract_testcases/solana/issues678.sol:22:46-49"]
 	variable_35 [label="variable: i\nuint256\ntests/contract_testcases/solana/issues678.sol:22:46-47"]
 	expr_36 [label="expression\ntests/contract_testcases/solana/issues678.sol:23:13-50"]
-	assign [label="assign\naddress\ntests/contract_testcases/solana/issues678.sol:23:27-28"]
+	assign [label="assign\naddress\ntests/contract_testcases/solana/issues678.sol:23:13-50"]
 	subscript [label="subscript address[]\ntests/contract_testcases/solana/issues678.sol:23:13-26"]
 	variable_39 [label="variable: retAddress\naddress[]\ntests/contract_testcases/solana/issues678.sol:23:13-23"]
 	variable_40 [label="variable: i\nuint256\ntests/contract_testcases/solana/issues678.sol:23:24-25"]
@@ -44,7 +44,7 @@ strict digraph "tests/contract_testcases/solana/issues678.sol" {
 	storage_var_45 [label="storage variable\nShares._shares\nstruct Shares.Share[] storage\ntests/contract_testcases/solana/issues678.sol:23:29-36"]
 	variable_46 [label="variable: i\nuint256\ntests/contract_testcases/solana/issues678.sol:23:37-38"]
 	expr_47 [label="expression\ntests/contract_testcases/solana/issues678.sol:24:13-44"]
-	assign_48 [label="assign\nuint256\ntests/contract_testcases/solana/issues678.sol:24:25-26"]
+	assign_48 [label="assign\nuint256\ntests/contract_testcases/solana/issues678.sol:24:13-44"]
 	subscript_49 [label="subscript uint256[]\ntests/contract_testcases/solana/issues678.sol:24:13-24"]
 	variable_50 [label="variable: retShare\nuint256[]\ntests/contract_testcases/solana/issues678.sol:24:13-21"]
 	variable_51 [label="variable: i\nuint256\ntests/contract_testcases/solana/issues678.sol:24:22-23"]
@@ -62,7 +62,7 @@ strict digraph "tests/contract_testcases/solana/issues678.sol" {
 	for_63 [label="for\ntests/contract_testcases/solana/issues678.sol:30:9-34:10"]
 	var_decl_64 [label="variable decl uint256 i\ntests/contract_testcases/solana/issues678.sol:30:14-24"]
 	number_literal_65 [label="uint256 literal: 0\ntests/contract_testcases/solana/issues678.sol:30:23-24"]
-	less_66 [label="less\ntests/contract_testcases/solana/issues678.sol:30:28-29"]
+	less_66 [label="less\ntests/contract_testcases/solana/issues678.sol:30:26-44"]
 	variable_67 [label="variable: i\nuint256\ntests/contract_testcases/solana/issues678.sol:30:26-27"]
 	zero_ext_68 [label="zero extend uint256\ntests/contract_testcases/solana/issues678.sol:30:30-44"]
 	array_length_69 [label="array length uint32\nelement struct Shares.Share\ntests/contract_testcases/solana/issues678.sol:30:38-44"]
@@ -71,7 +71,7 @@ strict digraph "tests/contract_testcases/solana/issues678.sol" {
 	post_increment_72 [label="post increment\nuint256\ntests/contract_testcases/solana/issues678.sol:30:46-49"]
 	variable_73 [label="variable: i\nuint256\ntests/contract_testcases/solana/issues678.sol:30:46-47"]
 	if [label="if\ntests/contract_testcases/solana/issues678.sol:31:13-33:14"]
-	equal [label="equal\ntests/contract_testcases/solana/issues678.sol:31:39-41"]
+	equal [label="equal\ntests/contract_testcases/solana/issues678.sol:31:17-52"]
 	storage_load_76 [label="storage load address payable\ntests/contract_testcases/solana/issues678.sol:31:17-38"]
 	structmember_77 [label="struct member #0 address payable storage\ntests/contract_testcases/solana/issues678.sol:31:28-38"]
 	subscript_78 [label="subscript struct Shares.Share[] storage\ntests/contract_testcases/solana/issues678.sol:31:17-27"]
@@ -97,7 +97,7 @@ strict digraph "tests/contract_testcases/solana/issues678.sol" {
 	builtins_98 [label="builtin GetAddress\ntests/contract_testcases/solana/issues678.sol:43:37-41"]
 	expr_99 [label="expression\ntests/contract_testcases/solana/issues678.sol:44:9-66"]
 	builtins_100 [label="builtin Require\ntests/contract_testcases/solana/issues678.sol:44:9-16"]
-	more [label="more\ntests/contract_testcases/solana/issues678.sol:44:30-31"]
+	more [label="more\ntests/contract_testcases/solana/issues678.sol:44:17-33"]
 	variable_102 [label="variable: curr_balance\nuint256\ntests/contract_testcases/solana/issues678.sol:44:17-29"]
 	number_literal_103 [label="uint256 literal: 0\ntests/contract_testcases/solana/issues678.sol:44:32-33"]
 	alloc_array_104 [label="alloc array string\ninitializer: 5468657265206973206e6f7468696e6720746f207769746864726177\ntests/contract_testcases/solana/issues678.sol:44:35-65"]
@@ -105,7 +105,7 @@ strict digraph "tests/contract_testcases/solana/issues678.sol" {
 	for_106 [label="for\ntests/contract_testcases/solana/issues678.sol:45:9-49:10"]
 	var_decl_107 [label="variable decl uint256 i\ntests/contract_testcases/solana/issues678.sol:45:14-24"]
 	number_literal_108 [label="uint256 literal: 0\ntests/contract_testcases/solana/issues678.sol:45:23-24"]
-	less_109 [label="less\ntests/contract_testcases/solana/issues678.sol:45:28-29"]
+	less_109 [label="less\ntests/contract_testcases/solana/issues678.sol:45:26-44"]
 	variable_110 [label="variable: i\nuint256\ntests/contract_testcases/solana/issues678.sol:45:26-27"]
 	zero_ext_111 [label="zero extend uint256\ntests/contract_testcases/solana/issues678.sol:45:30-44"]
 	array_length_112 [label="array length uint32\nelement struct Shares.Share\ntests/contract_testcases/solana/issues678.sol:45:38-44"]
@@ -114,8 +114,8 @@ strict digraph "tests/contract_testcases/solana/issues678.sol" {
 	post_increment_115 [label="post increment\nuint256\ntests/contract_testcases/solana/issues678.sol:45:46-49"]
 	variable_116 [label="variable: i\nuint256\ntests/contract_testcases/solana/issues678.sol:45:46-47"]
 	var_decl_117 [label="variable decl uint256 to_transfer\ntests/contract_testcases/solana/issues678.sol:46:13-71"]
-	divide [label="divide\nuint256\ntests/contract_testcases/solana/issues678.sol:46:65-66"]
-	multiply [label="multiply\nuint256\ntests/contract_testcases/solana/issues678.sol:46:45-46"]
+	divide [label="divide\nuint256\ntests/contract_testcases/solana/issues678.sol:46:32-71"]
+	multiply [label="multiply\nuint256\ntests/contract_testcases/solana/issues678.sol:46:32-64"]
 	variable_120 [label="variable: curr_balance\nuint256\ntests/contract_testcases/solana/issues678.sol:46:32-44"]
 	storage_load_121 [label="storage load uint256\ntests/contract_testcases/solana/issues678.sol:46:47-64"]
 	structmember_122 [label="struct member #1 uint256 storage\ntests/contract_testcases/solana/issues678.sol:46:58-64"]
@@ -143,7 +143,7 @@ strict digraph "tests/contract_testcases/solana/issues678.sol" {
 	variable_144 [label="variable: to_transfer\nuint256\ntests/contract_testcases/solana/issues678.sol:48:50-61"]
 	variable_145 [label="variable: curr_balance\nuint256\ntests/contract_testcases/solana/issues678.sol:48:63-75"]
 	if_146 [label="if\ntests/contract_testcases/solana/issues678.sol:50:9-54:10"]
-	more_147 [label="more\ntests/contract_testcases/solana/issues678.sol:50:35-36"]
+	more_147 [label="more\ntests/contract_testcases/solana/issues678.sol:50:13-38"]
 	cast_148 [label="cast uint64\ntests/contract_testcases/solana/issues678.sol:50:13-34"]
 	builtins_149 [label="builtin Balance\ntests/contract_testcases/solana/issues678.sol:50:13-34"]
 	cast_150 [label="cast address\ntests/contract_testcases/solana/issues678.sol:50:13-26"]

+ 1 - 1
tests/contract_testcases/solana/negative_exponent.dot

@@ -4,7 +4,7 @@ strict digraph "tests/contract_testcases/solana/negative_exponent.sol" {
 	returns [label="returns\nuint256 "]
 	return [label="return\ntests/contract_testcases/solana/negative_exponent.sol:3:2-20"]
 	cast [label="cast uint256\ntests/contract_testcases/solana/negative_exponent.sol:3:2-20"]
-	add [label="add\nrational\ntests/contract_testcases/solana/negative_exponent.sol:3:14-15"]
+	add [label="add\nrational\ntests/contract_testcases/solana/negative_exponent.sol:3:9-20"]
 	rational_literal [label="rational rational literal: 1/20\ntests/contract_testcases/solana/negative_exponent.sol:3:9-13"]
 	rational_literal_9 [label="rational rational literal: 39/20\ntests/contract_testcases/solana/negative_exponent.sol:3:16-20"]
 	g [label="function g\ncontract: c\ntests/contract_testcases/solana/negative_exponent.sol:5:5-44\nsignature g()\nvisibility public\nmutability pure"]

+ 2 - 2
tests/contract_testcases/solana/power.dot

@@ -2,9 +2,9 @@ strict digraph "tests/contract_testcases/solana/power.sol" {
 	contract [label="contract AstExample\ntests/contract_testcases/solana/power.sol:2:1-3:21"]
 	node_3 [label="constructor \ncontract: AstExample\ntests/contract_testcases/solana/power.sol:4:5-19\nsignature ()\nvisibility public\nmutability nonpayable"]
 	expr [label="expression\ntests/contract_testcases/solana/power.sol:5:9-20"]
-	power [label="power\nuint256\ntests/contract_testcases/solana/power.sol:5:11-13"]
+	power [label="power\nuint256\ntests/contract_testcases/solana/power.sol:5:9-20"]
 	number_literal [label="uint256 literal: 1\ntests/contract_testcases/solana/power.sol:5:9-10"]
-	power_7 [label="power\nuint256\ntests/contract_testcases/solana/power.sol:5:16-18"]
+	power_7 [label="power\nuint256\ntests/contract_testcases/solana/power.sol:5:14-20"]
 	number_literal_8 [label="uint256 literal: 2\ntests/contract_testcases/solana/power.sol:5:14-15"]
 	number_literal_9 [label="uint256 literal: 3\ntests/contract_testcases/solana/power.sol:5:19-20"]
 	diagnostic [label="pragma 'solidity' is ignored\nlevel Debug\ntests/contract_testcases/solana/power.sol:1:1-24"]

+ 4 - 4
tests/contract_testcases/solana/shift_struct_member.dot

@@ -8,10 +8,10 @@ strict digraph "tests/contract_testcases/solana/shift_struct_member.sol" {
 	return [label="return\ntests/contract_testcases/solana/shift_struct_member.sol:14:9-39"]
 	trunc [label="truncate uint112\ntests/contract_testcases/solana/shift_struct_member.sol:14:16-39"]
 	load [label="load uint224\ntests/contract_testcases/solana/shift_struct_member.sol:14:16-39"]
-	shift_right [label="shift right\nuint224\ntests/contract_testcases/solana/shift_struct_member.sol:14:32-34"]
+	shift_right [label="shift right\nuint224\ntests/contract_testcases/solana/shift_struct_member.sol:14:24-38"]
 	structmember [label="struct member #0 uint224\ntests/contract_testcases/solana/shift_struct_member.sol:14:29-31"]
 	variable [label="variable: self\nstruct FixedPoint.uq112x112\ntests/contract_testcases/solana/shift_struct_member.sol:14:24-28"]
-	zero_ext [label="zero extend uint224\ntests/contract_testcases/solana/shift_struct_member.sol:14:32-34"]
+	zero_ext [label="zero extend uint224\ntests/contract_testcases/solana/shift_struct_member.sol:14:24-38"]
 	number_literal [label="uint8 literal: 112\ntests/contract_testcases/solana/shift_struct_member.sol:14:35-38"]
 	decode144 [label="function decode144\ncontract: FixedPoint\ntests/contract_testcases/solana/shift_struct_member.sol:18:5-78\nsignature decode144((uint256))\nvisibility internal\nmutability pure"]
 	parameters_17 [label="parameters\nstruct FixedPoint.uq144x112 self"]
@@ -19,10 +19,10 @@ strict digraph "tests/contract_testcases/solana/shift_struct_member.sol" {
 	return_19 [label="return\ntests/contract_testcases/solana/shift_struct_member.sol:19:9-39"]
 	trunc_20 [label="truncate uint144\ntests/contract_testcases/solana/shift_struct_member.sol:19:16-39"]
 	load_21 [label="load uint256\ntests/contract_testcases/solana/shift_struct_member.sol:19:16-39"]
-	shift_right_22 [label="shift right\nuint256\ntests/contract_testcases/solana/shift_struct_member.sol:19:32-34"]
+	shift_right_22 [label="shift right\nuint256\ntests/contract_testcases/solana/shift_struct_member.sol:19:24-38"]
 	structmember_23 [label="struct member #0 uint256\ntests/contract_testcases/solana/shift_struct_member.sol:19:29-31"]
 	variable_24 [label="variable: self\nstruct FixedPoint.uq144x112\ntests/contract_testcases/solana/shift_struct_member.sol:19:24-28"]
-	zero_ext_25 [label="zero extend uint256\ntests/contract_testcases/solana/shift_struct_member.sol:19:32-34"]
+	zero_ext_25 [label="zero extend uint256\ntests/contract_testcases/solana/shift_struct_member.sol:19:24-38"]
 	number_literal_26 [label="uint8 literal: 112\ntests/contract_testcases/solana/shift_struct_member.sol:19:35-38"]
 	diagnostic [label="found library 'FixedPoint'\nlevel Debug\ntests/contract_testcases/solana/shift_struct_member.sol:1:71-2:20"]
 	structs -> uq144x112

+ 3 - 3
tests/contract_testcases/solana/simple.dot

@@ -3,11 +3,11 @@ strict digraph "tests/contract_testcases/solana/simple.sol" {
 	inc [label="function inc\ntests/contract_testcases/solana/simple.sol:6:2-7:23\nsignature inc((int64,bool))\nvisibility internal\nmutability pure"]
 	parameters [label="parameters\nstruct S s"]
 	expr [label="expression\ntests/contract_testcases/solana/simple.sol:7:26-35"]
-	assign [label="assign\nvoid\ntests/contract_testcases/solana/simple.sol:7:31-33"]
+	assign [label="assign\nvoid\ntests/contract_testcases/solana/simple.sol:7:26-35"]
 	structmember [label="struct member #0 int64\ntests/contract_testcases/solana/simple.sol:7:28-30"]
 	variable [label="variable: s\nstruct S\ntests/contract_testcases/solana/simple.sol:7:26-27"]
-	add [label="add\nint64\ntests/contract_testcases/solana/simple.sol:7:31-33"]
-	load [label="load int64\ntests/contract_testcases/solana/simple.sol:7:31-33"]
+	add [label="add\nint64\ntests/contract_testcases/solana/simple.sol:7:26-35"]
+	load [label="load int64\ntests/contract_testcases/solana/simple.sol:7:26-35"]
 	structmember_11 [label="struct member #0 int64\ntests/contract_testcases/solana/simple.sol:7:28-30"]
 	variable_12 [label="variable: s\nstruct S\ntests/contract_testcases/solana/simple.sol:7:26-27"]
 	number_literal [label="int64 literal: 1\ntests/contract_testcases/solana/simple.sol:7:34-35"]

+ 1 - 1
tests/contract_testcases/substrate/arrays/array_dimensions.dot

@@ -1,7 +1,7 @@
 strict digraph "tests/contract_testcases/substrate/arrays/array_dimensions.sol" {
 	contract [label="contract foo\ntests/contract_testcases/substrate/arrays/array_dimensions.sol:2:9-22"]
 	diagnostic [label="found contract 'foo'\nlevel Debug\ntests/contract_testcases/substrate/arrays/array_dimensions.sol:2:9-22"]
-	diagnostic_5 [label="zero size array not permitted\nlevel Error\ntests/contract_testcases/substrate/arrays/array_dimensions.sol:3:21-22"]
+	diagnostic_5 [label="zero size array not permitted\nlevel Error\ntests/contract_testcases/substrate/arrays/array_dimensions.sol:3:18-25"]
 	contracts -> contract
 	diagnostics -> diagnostic [label="Debug"]
 	diagnostics -> diagnostic_5 [label="Error"]

+ 1 - 1
tests/contract_testcases/substrate/arrays/array_dimensions_02.dot

@@ -1,7 +1,7 @@
 strict digraph "tests/contract_testcases/substrate/arrays/array_dimensions_02.sol" {
 	contract [label="contract foo\ntests/contract_testcases/substrate/arrays/array_dimensions_02.sol:2:9-22"]
 	diagnostic [label="found contract 'foo'\nlevel Debug\ntests/contract_testcases/substrate/arrays/array_dimensions_02.sol:2:9-22"]
-	diagnostic_5 [label="zero size array not permitted\nlevel Error\ntests/contract_testcases/substrate/arrays/array_dimensions_02.sol:3:20-21"]
+	diagnostic_5 [label="zero size array not permitted\nlevel Error\ntests/contract_testcases/substrate/arrays/array_dimensions_02.sol:3:18-24"]
 	contracts -> contract
 	diagnostics -> diagnostic [label="Debug"]
 	diagnostics -> diagnostic_5 [label="Error"]

+ 1 - 1
tests/contract_testcases/substrate/arrays/array_dimensions_03.dot

@@ -2,7 +2,7 @@ strict digraph "tests/contract_testcases/substrate/arrays/array_dimensions_03.so
 	e [label="name: e\ncontract: foo\ntests/contract_testcases/substrate/arrays/array_dimensions_03.sol:3:13-34\nvalue: e1\nvalue: e2\nvalue: e3"]
 	contract [label="contract foo\ntests/contract_testcases/substrate/arrays/array_dimensions_03.sol:2:9-22"]
 	diagnostic [label="found contract 'foo'\nlevel Debug\ntests/contract_testcases/substrate/arrays/array_dimensions_03.sol:2:9-22"]
-	diagnostic_7 [label="divide by zero\nlevel Error\ntests/contract_testcases/substrate/arrays/array_dimensions_03.sol:4:17-18"]
+	diagnostic_7 [label="divide by zero\nlevel Error\ntests/contract_testcases/substrate/arrays/array_dimensions_03.sol:4:15-20"]
 	enums -> e
 	contracts -> contract
 	diagnostics -> diagnostic [label="Debug"]

+ 1 - 1
tests/contract_testcases/substrate/arrays/array_dimensions_04.dot

@@ -2,7 +2,7 @@ strict digraph "tests/contract_testcases/substrate/arrays/array_dimensions_04.so
 	bar [label="name:bar\ncontract: foo\ntests/contract_testcases/substrate/arrays/array_dimensions_04.sol:3:20-23\nfield name:x ty:int32"]
 	contract [label="contract foo\ntests/contract_testcases/substrate/arrays/array_dimensions_04.sol:2:9-22"]
 	diagnostic [label="found contract 'foo'\nlevel Debug\ntests/contract_testcases/substrate/arrays/array_dimensions_04.sol:2:9-22"]
-	diagnostic_7 [label="divide by zero\nlevel Error\ntests/contract_testcases/substrate/arrays/array_dimensions_04.sol:6:19-20"]
+	diagnostic_7 [label="divide by zero\nlevel Error\ntests/contract_testcases/substrate/arrays/array_dimensions_04.sol:6:17-22"]
 	structs -> bar
 	contracts -> contract
 	diagnostics -> diagnostic [label="Debug"]

+ 6 - 6
tests/contract_testcases/substrate/arrays/lucas.dot

@@ -15,19 +15,19 @@ strict digraph "tests/contract_testcases/substrate/arrays/lucas.sol" {
 	number_literal_14 [label="uint16 literal: 1\ntests/contract_testcases/substrate/arrays/lucas.sol:8:24-25"]
 	var_decl_15 [label="variable decl uint8 b\ntests/contract_testcases/substrate/arrays/lucas.sol:9:13-20"]
 	expr_16 [label="expression\ntests/contract_testcases/substrate/arrays/lucas.sol:10:13-25"]
-	assign_17 [label="assign\nuint8\ntests/contract_testcases/substrate/arrays/lucas.sol:10:15-16"]
+	assign_17 [label="assign\nuint8\ntests/contract_testcases/substrate/arrays/lucas.sol:10:13-25"]
 	variable_18 [label="variable: b\nuint8\ntests/contract_testcases/substrate/arrays/lucas.sol:10:13-14"]
 	trunc [label="truncate uint8\ntests/contract_testcases/substrate/arrays/lucas.sol:10:17-25"]
 	variable_20 [label="variable: a\nuint16\ntests/contract_testcases/substrate/arrays/lucas.sol:10:23-24"]
 	var_decl_21 [label="variable decl uint256 c\ntests/contract_testcases/substrate/arrays/lucas.sol:12:13-22"]
 	expr_22 [label="expression\ntests/contract_testcases/substrate/arrays/lucas.sol:13:13-18"]
-	assign_23 [label="assign\nuint256\ntests/contract_testcases/substrate/arrays/lucas.sol:13:15-16"]
+	assign_23 [label="assign\nuint256\ntests/contract_testcases/substrate/arrays/lucas.sol:13:13-18"]
 	variable_24 [label="variable: c\nuint256\ntests/contract_testcases/substrate/arrays/lucas.sol:13:13-14"]
 	zero_ext [label="zero extend uint256\ntests/contract_testcases/substrate/arrays/lucas.sol:13:17-18"]
 	variable_26 [label="variable: b\nuint8\ntests/contract_testcases/substrate/arrays/lucas.sol:13:17-18"]
 	var_decl_27 [label="variable decl bytes32 b32\ntests/contract_testcases/substrate/arrays/lucas.sol:14:13-24"]
 	expr_28 [label="expression\ntests/contract_testcases/substrate/arrays/lucas.sol:15:13-35"]
-	assign_29 [label="assign\nbytes32\ntests/contract_testcases/substrate/arrays/lucas.sol:15:17-18"]
+	assign_29 [label="assign\nbytes32\ntests/contract_testcases/substrate/arrays/lucas.sol:15:13-35"]
 	variable_30 [label="variable: b32\nbytes32\ntests/contract_testcases/substrate/arrays/lucas.sol:15:13-16"]
 	bytes_cast [label="bytes cast from bytes to bytes32\ntests/contract_testcases/substrate/arrays/lucas.sol:15:19-35"]
 	storage_load [label="storage load bytes\ntests/contract_testcases/substrate/arrays/lucas.sol:15:19-35"]
@@ -43,11 +43,11 @@ strict digraph "tests/contract_testcases/substrate/arrays/lucas.sol" {
 	number_literal_42 [label="uint256 literal: 1\ntests/contract_testcases/substrate/arrays/lucas.sol:18:23-24"]
 	expr_43 [label="expression\ntests/contract_testcases/substrate/arrays/lucas.sol:19:13-52"]
 	builtins [label="builtin Assert\ntests/contract_testcases/substrate/arrays/lucas.sol:19:13-19"]
-	equal [label="equal\ntests/contract_testcases/substrate/arrays/lucas.sol:19:36-38"]
+	equal [label="equal\ntests/contract_testcases/substrate/arrays/lucas.sol:19:20-51"]
 	subscript [label="subscript bytes32\ntests/contract_testcases/substrate/arrays/lucas.sol:19:20-35"]
 	variable_47 [label="variable: b32\nbytes32\ntests/contract_testcases/substrate/arrays/lucas.sol:19:20-23"]
-	subtract [label="subtract\nuint256\ntests/contract_testcases/substrate/arrays/lucas.sol:19:31-32"]
-	multiply [label="multiply\nuint256\ntests/contract_testcases/substrate/arrays/lucas.sol:19:27-28"]
+	subtract [label="subtract\nuint256\ntests/contract_testcases/substrate/arrays/lucas.sol:19:24-34"]
+	multiply [label="multiply\nuint256\ntests/contract_testcases/substrate/arrays/lucas.sol:19:25-30"]
 	variable_50 [label="variable: i1\nuint256\ntests/contract_testcases/substrate/arrays/lucas.sol:19:25-27"]
 	variable_51 [label="variable: i2\nuint256\ntests/contract_testcases/substrate/arrays/lucas.sol:19:28-30"]
 	variable_52 [label="variable: i1\nuint256\ntests/contract_testcases/substrate/arrays/lucas.sol:19:32-34"]

+ 1 - 1
tests/contract_testcases/substrate/arrays/storage_delete_01.dot

@@ -3,7 +3,7 @@ strict digraph "tests/contract_testcases/substrate/arrays/storage_delete_01.sol"
 	var [label="variable bar\nvisibility internal\ntests/contract_testcases/substrate/arrays/storage_delete_01.sol:3:13-24"]
 	test [label="function test\ncontract: foo\ntests/contract_testcases/substrate/arrays/storage_delete_01.sol:5:13-35\nsignature test()\nvisibility public\nmutability nonpayable"]
 	diagnostic [label="found contract 'foo'\nlevel Debug\ntests/contract_testcases/substrate/arrays/storage_delete_01.sol:2:9-22"]
-	diagnostic_6 [label="delete not allowed in expression\nlevel Error\ntests/contract_testcases/substrate/arrays/storage_delete_01.sol:6:27-33"]
+	diagnostic_6 [label="delete not allowed in expression\nlevel Error\ntests/contract_testcases/substrate/arrays/storage_delete_01.sol:6:27-37"]
 	contracts -> contract
 	contract -> var [label="variable"]
 	contract -> test [label="function"]

+ 1 - 1
tests/contract_testcases/substrate/builtins/msg_01.dot

@@ -4,7 +4,7 @@ strict digraph "tests/contract_testcases/substrate/builtins/msg_01.sol" {
 	parameters [label="parameters\nuint128 v"]
 	returns [label="returns\nbool "]
 	return [label="return\ntests/contract_testcases/substrate/builtins/msg_01.sol:4:17-37"]
-	more [label="more\ntests/contract_testcases/substrate/builtins/msg_01.sol:4:34-35"]
+	more [label="more\ntests/contract_testcases/substrate/builtins/msg_01.sol:4:24-37"]
 	cast [label="cast uint128\ntests/contract_testcases/substrate/builtins/msg_01.sol:4:24-33"]
 	builtins [label="builtin Value\ntests/contract_testcases/substrate/builtins/msg_01.sol:4:24-33"]
 	variable [label="variable: v\nuint128\ntests/contract_testcases/substrate/builtins/msg_01.sol:4:36-37"]

+ 1 - 1
tests/contract_testcases/substrate/contracts/external_call_02.dot

@@ -21,7 +21,7 @@ strict digraph "tests/contract_testcases/substrate/contracts/external_call_02.so
 	parameters_20 [label="parameters\nint32 t"]
 	returns_21 [label="returns\nint32 "]
 	return [label="return\ntests/contract_testcases/substrate/contracts/external_call_02.sol:18:17-29"]
-	multiply [label="multiply\nint32\ntests/contract_testcases/substrate/contracts/external_call_02.sol:18:26-27"]
+	multiply [label="multiply\nint32\ntests/contract_testcases/substrate/contracts/external_call_02.sol:18:24-29"]
 	storage_load [label="storage load int32\ntests/contract_testcases/substrate/contracts/external_call_02.sol:18:24-25"]
 	storage_var_25 [label="storage variable\nb.x\nint32 storage\ntests/contract_testcases/substrate/contracts/external_call_02.sol:18:24-25"]
 	variable_26 [label="variable: t\nint32\ntests/contract_testcases/substrate/contracts/external_call_02.sol:18:28-29"]

+ 1 - 1
tests/contract_testcases/substrate/contracts/external_call_03.dot

@@ -22,7 +22,7 @@ strict digraph "tests/contract_testcases/substrate/contracts/external_call_03.so
 	parameters_21 [label="parameters\nint32 t"]
 	returns_22 [label="returns\nint32 "]
 	return_23 [label="return\ntests/contract_testcases/substrate/contracts/external_call_03.sol:18:17-29"]
-	multiply [label="multiply\nint32\ntests/contract_testcases/substrate/contracts/external_call_03.sol:18:26-27"]
+	multiply [label="multiply\nint32\ntests/contract_testcases/substrate/contracts/external_call_03.sol:18:24-29"]
 	storage_load_25 [label="storage load int32\ntests/contract_testcases/substrate/contracts/external_call_03.sol:18:24-25"]
 	storage_var_26 [label="storage variable\nb.x\nint32 storage\ntests/contract_testcases/substrate/contracts/external_call_03.sol:18:24-25"]
 	variable_27 [label="variable: t\nint32\ntests/contract_testcases/substrate/contracts/external_call_03.sol:18:28-29"]

+ 1 - 1
tests/contract_testcases/substrate/expressions/power.dot

@@ -4,7 +4,7 @@ strict digraph "tests/contract_testcases/substrate/expressions/power.sol" {
 	parameters [label="parameters\nuint64 base\nint64 exp"]
 	returns [label="returns\nuint64 "]
 	diagnostic [label="found contract 'test'\nlevel Debug\ntests/contract_testcases/substrate/expressions/power.sol:1:1-15"]
-	diagnostic_7 [label="exponation (**) is not allowed with signed types\nlevel Error\ntests/contract_testcases/substrate/expressions/power.sol:3:29-31"]
+	diagnostic_7 [label="exponation (**) is not allowed with signed types\nlevel Error\ntests/contract_testcases/substrate/expressions/power.sol:3:24-35"]
 	contracts -> contract
 	contract -> power [label="function"]
 	power -> parameters [label="parameters"]

+ 1 - 1
tests/contract_testcases/substrate/expressions/power_01.dot

@@ -4,7 +4,7 @@ strict digraph "tests/contract_testcases/substrate/expressions/power_01.sol" {
 	parameters [label="parameters\nint64 base\nuint64 exp"]
 	returns [label="returns\nint64 "]
 	diagnostic [label="found contract 'test'\nlevel Debug\ntests/contract_testcases/substrate/expressions/power_01.sol:1:1-15"]
-	diagnostic_7 [label="exponation (**) is not allowed with signed types\nlevel Error\ntests/contract_testcases/substrate/expressions/power_01.sol:3:29-31"]
+	diagnostic_7 [label="exponation (**) is not allowed with signed types\nlevel Error\ntests/contract_testcases/substrate/expressions/power_01.sol:3:24-35"]
 	contracts -> contract
 	contract -> power [label="function"]
 	power -> parameters [label="parameters"]

+ 1 - 1
tests/contract_testcases/substrate/expressions/power_02.dot

@@ -4,7 +4,7 @@ strict digraph "tests/contract_testcases/substrate/expressions/power_02.sol" {
 	parameters [label="parameters\nint64 base\nint64 exp"]
 	returns [label="returns\nint64 "]
 	diagnostic [label="found contract 'test'\nlevel Debug\ntests/contract_testcases/substrate/expressions/power_02.sol:1:1-15"]
-	diagnostic_7 [label="exponation (**) is not allowed with signed types\nlevel Error\ntests/contract_testcases/substrate/expressions/power_02.sol:3:29-31"]
+	diagnostic_7 [label="exponation (**) is not allowed with signed types\nlevel Error\ntests/contract_testcases/substrate/expressions/power_02.sol:3:24-35"]
 	contracts -> contract
 	contract -> power [label="function"]
 	power -> parameters [label="parameters"]

+ 1 - 1
tests/contract_testcases/substrate/expressions/test_cast_errors_02.dot

@@ -4,7 +4,7 @@ strict digraph "tests/contract_testcases/substrate/expressions/test_cast_errors_
 	parameters [label="parameters\nint32 foo\nuint16 bar"]
 	returns [label="returns\nbool "]
 	expr [label="expression\ntests/contract_testcases/substrate/expressions/test_cast_errors_02.sol:3:17-26"]
-	assign [label="assign\nint32\ntests/contract_testcases/substrate/expressions/test_cast_errors_02.sol:3:21-22"]
+	assign [label="assign\nint32\ntests/contract_testcases/substrate/expressions/test_cast_errors_02.sol:3:17-26"]
 	variable [label="variable: foo\nint32\ntests/contract_testcases/substrate/expressions/test_cast_errors_02.sol:3:17-20"]
 	zero_ext [label="zero extend int32\ntests/contract_testcases/substrate/expressions/test_cast_errors_02.sol:3:23-26"]
 	variable_9 [label="variable: bar\nuint16\ntests/contract_testcases/substrate/expressions/test_cast_errors_02.sol:3:23-26"]

+ 1 - 1
tests/contract_testcases/substrate/functions/global_functions_08.dot

@@ -3,7 +3,7 @@ strict digraph "tests/contract_testcases/substrate/functions/global_functions_08
 	x [label="function x\ntests/contract_testcases/substrate/functions/global_functions_08.sol:7:9-37\nsignature x(struct S)\nvisibility internal\nmutability view"]
 	parameters [label="parameters\nstruct S storage x"]
 	expr [label="expression\ntests/contract_testcases/substrate/functions/global_functions_08.sol:7:40-50"]
-	assign [label="assign\nint32 storage\ntests/contract_testcases/substrate/functions/global_functions_08.sol:7:45-46"]
+	assign [label="assign\nint32 storage\ntests/contract_testcases/substrate/functions/global_functions_08.sol:7:40-50"]
 	structmember [label="struct member #0 int32 storage\ntests/contract_testcases/substrate/functions/global_functions_08.sol:7:42-44"]
 	variable [label="variable: x\nstruct S storage\ntests/contract_testcases/substrate/functions/global_functions_08.sol:7:40-41"]
 	number_literal [label="int32 literal: 102\ntests/contract_testcases/substrate/functions/global_functions_08.sol:7:47-50"]

+ 1 - 1
tests/contract_testcases/substrate/functions/mutability_04.dot

@@ -3,7 +3,7 @@ strict digraph "tests/contract_testcases/substrate/functions/mutability_04.sol"
 	bar [label="function bar\ncontract: test\ntests/contract_testcases/substrate/functions/mutability_04.sol:2:13-58\nsignature bar(int256[])\nvisibility internal\nmutability view"]
 	parameters [label="parameters\nint256[] storage foo"]
 	expr [label="expression\ntests/contract_testcases/substrate/functions/mutability_04.sol:3:17-29"]
-	assign [label="assign\nint256 storage\ntests/contract_testcases/substrate/functions/mutability_04.sol:3:24-25"]
+	assign [label="assign\nint256 storage\ntests/contract_testcases/substrate/functions/mutability_04.sol:3:17-29"]
 	subscript [label="subscript int256[] storage\ntests/contract_testcases/substrate/functions/mutability_04.sol:3:17-23"]
 	variable [label="variable: foo\nint256[] storage\ntests/contract_testcases/substrate/functions/mutability_04.sol:3:17-20"]
 	number_literal [label="uint256 literal: 0\ntests/contract_testcases/substrate/functions/mutability_04.sol:3:21-22"]

+ 1 - 1
tests/contract_testcases/substrate/inheritance/base_contract.dot

@@ -9,7 +9,7 @@ strict digraph "tests/contract_testcases/substrate/inheritance/base_contract.sol
 	parameters_8 [label="parameters\nuint64 a"]
 	returns [label="returns\nuint64 "]
 	return [label="return\ntests/contract_testcases/substrate/inheritance/base_contract.sol:9:17-31"]
-	add [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/base_contract.sol:9:26-27"]
+	add [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/base_contract.sol:9:24-31"]
 	variable [label="variable: a\nuint64\ntests/contract_testcases/substrate/inheritance/base_contract.sol:9:24-25"]
 	number_literal [label="uint64 literal: 102\ntests/contract_testcases/substrate/inheritance/base_contract.sol:9:28-31"]
 	diagnostic [label="found contract 'base'\nlevel Debug\ntests/contract_testcases/substrate/inheritance/base_contract.sol:2:9-23"]

+ 1 - 1
tests/contract_testcases/substrate/inheritance/base_contract_01.dot

@@ -8,7 +8,7 @@ strict digraph "tests/contract_testcases/substrate/inheritance/base_contract_01.
 	parameters_7 [label="parameters\nuint64 a"]
 	returns [label="returns\nuint64 "]
 	return [label="return\ntests/contract_testcases/substrate/inheritance/base_contract_01.sol:8:17-31"]
-	add [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/base_contract_01.sol:8:26-27"]
+	add [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/base_contract_01.sol:8:24-31"]
 	variable [label="variable: a\nuint64\ntests/contract_testcases/substrate/inheritance/base_contract_01.sol:8:24-25"]
 	number_literal [label="uint64 literal: 102\ntests/contract_testcases/substrate/inheritance/base_contract_01.sol:8:28-31"]
 	diagnostic [label="found contract 'base'\nlevel Debug\ntests/contract_testcases/substrate/inheritance/base_contract_01.sol:2:9-23"]

+ 1 - 1
tests/contract_testcases/substrate/inheritance/base_contract_on_constructor_06.dot

@@ -4,7 +4,7 @@ strict digraph "tests/contract_testcases/substrate/inheritance/base_contract_on_
 	node_3 [label="constructor \ncontract: c\ntests/contract_testcases/substrate/inheritance/base_contract_on_constructor_06.sol:3:13-40\nsignature (int64)\nvisibility public\nmutability nonpayable"]
 	parameters [label="parameters\nint64 x"]
 	b [label="b"]
-	add [label="add\nint64\ntests/contract_testcases/substrate/inheritance/base_contract_on_constructor_06.sol:3:37-38"]
+	add [label="add\nint64\ntests/contract_testcases/substrate/inheritance/base_contract_on_constructor_06.sol:3:36-39"]
 	variable [label="variable: x\nint64\ntests/contract_testcases/substrate/inheritance/base_contract_on_constructor_06.sol:3:36-37"]
 	number_literal [label="int64 literal: 3\ntests/contract_testcases/substrate/inheritance/base_contract_on_constructor_06.sol:3:38-39"]
 	contract_9 [label="contract b\ntests/contract_testcases/substrate/inheritance/base_contract_on_constructor_06.sol:6:9-33"]

+ 1 - 1
tests/contract_testcases/substrate/inheritance/base_contract_on_constructor_07.dot

@@ -4,7 +4,7 @@ strict digraph "tests/contract_testcases/substrate/inheritance/base_contract_on_
 	node_3 [label="constructor \ncontract: c\ntests/contract_testcases/substrate/inheritance/base_contract_on_constructor_07.sol:3:13-45\nsignature (int64)\nvisibility public\nmutability nonpayable"]
 	parameters [label="parameters\nint64 x"]
 	b [label="b"]
-	add [label="add\nint64\ntests/contract_testcases/substrate/inheritance/base_contract_on_constructor_07.sol:3:37-38"]
+	add [label="add\nint64\ntests/contract_testcases/substrate/inheritance/base_contract_on_constructor_07.sol:3:36-39"]
 	variable [label="variable: x\nint64\ntests/contract_testcases/substrate/inheritance/base_contract_on_constructor_07.sol:3:36-37"]
 	number_literal [label="int64 literal: 3\ntests/contract_testcases/substrate/inheritance/base_contract_on_constructor_07.sol:3:38-39"]
 	contract_9 [label="contract b\ntests/contract_testcases/substrate/inheritance/base_contract_on_constructor_07.sol:6:9-33"]

+ 1 - 1
tests/contract_testcases/substrate/inheritance/base_contract_on_constructor_08.dot

@@ -4,7 +4,7 @@ strict digraph "tests/contract_testcases/substrate/inheritance/base_contract_on_
 	node_3 [label="constructor \ncontract: c\ntests/contract_testcases/substrate/inheritance/base_contract_on_constructor_08.sol:3:13-45\nsignature (int64)\nvisibility public\nmutability nonpayable"]
 	parameters [label="parameters\nint64 x"]
 	b [label="b"]
-	add [label="add\nint64\ntests/contract_testcases/substrate/inheritance/base_contract_on_constructor_08.sol:3:37-38"]
+	add [label="add\nint64\ntests/contract_testcases/substrate/inheritance/base_contract_on_constructor_08.sol:3:36-39"]
 	variable [label="variable: x\nint64\ntests/contract_testcases/substrate/inheritance/base_contract_on_constructor_08.sol:3:36-37"]
 	number_literal [label="int64 literal: 3\ntests/contract_testcases/substrate/inheritance/base_contract_on_constructor_08.sol:3:38-39"]
 	a [label="a"]

+ 1 - 1
tests/contract_testcases/substrate/inheritance/call_inherited_function_01.dot

@@ -4,7 +4,7 @@ strict digraph "tests/contract_testcases/substrate/inheritance/call_inherited_fu
 	parameters [label="parameters\nuint64 a"]
 	returns [label="returns\nuint64 "]
 	return [label="return\ntests/contract_testcases/substrate/inheritance/call_inherited_function_01.sol:4:17-31"]
-	add [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/call_inherited_function_01.sol:4:26-27"]
+	add [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/call_inherited_function_01.sol:4:24-31"]
 	variable [label="variable: a\nuint64\ntests/contract_testcases/substrate/inheritance/call_inherited_function_01.sol:4:24-25"]
 	number_literal [label="uint64 literal: 102\ntests/contract_testcases/substrate/inheritance/call_inherited_function_01.sol:4:28-31"]
 	contract_9 [label="contract apex\ntests/contract_testcases/substrate/inheritance/call_inherited_function_01.sol:8:9-30"]

+ 3 - 3
tests/contract_testcases/substrate/inheritance/call_inherited_function_02.dot

@@ -4,7 +4,7 @@ strict digraph "tests/contract_testcases/substrate/inheritance/call_inherited_fu
 	parameters [label="parameters\nuint64 a"]
 	returns [label="returns\nuint64 "]
 	return [label="return\ntests/contract_testcases/substrate/inheritance/call_inherited_function_02.sol:4:17-31"]
-	add [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/call_inherited_function_02.sol:4:26-27"]
+	add [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/call_inherited_function_02.sol:4:24-31"]
 	variable [label="variable: a\nuint64\ntests/contract_testcases/substrate/inheritance/call_inherited_function_02.sol:4:24-25"]
 	number_literal [label="uint64 literal: 102\ntests/contract_testcases/substrate/inheritance/call_inherited_function_02.sol:4:28-31"]
 	contract_9 [label="contract apex\ntests/contract_testcases/substrate/inheritance/call_inherited_function_02.sol:8:9-30"]
@@ -13,13 +13,13 @@ strict digraph "tests/contract_testcases/substrate/inheritance/call_inherited_fu
 	parameters_12 [label="parameters\nuint64 a"]
 	returns_13 [label="returns\nuint64 "]
 	return_14 [label="return\ntests/contract_testcases/substrate/inheritance/call_inherited_function_02.sol:10:17-30"]
-	add_15 [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/call_inherited_function_02.sol:10:26-27"]
+	add_15 [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/call_inherited_function_02.sol:10:24-30"]
 	variable_16 [label="variable: a\nuint64\ntests/contract_testcases/substrate/inheritance/call_inherited_function_02.sol:10:24-25"]
 	number_literal_17 [label="uint64 literal: 64\ntests/contract_testcases/substrate/inheritance/call_inherited_function_02.sol:10:28-30"]
 	bar [label="function bar\ncontract: apex\ntests/contract_testcases/substrate/inheritance/call_inherited_function_02.sol:13:13-51\nsignature bar()\nvisibility public\nmutability nonpayable"]
 	returns_19 [label="returns\nuint64 "]
 	return_20 [label="return\ntests/contract_testcases/substrate/inheritance/call_inherited_function_02.sol:14:17-39"]
-	add_21 [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/call_inherited_function_02.sol:14:36-37"]
+	add_21 [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/call_inherited_function_02.sol:14:24-39"]
 	call_internal_function [label="call internal function\ntests/contract_testcases/substrate/inheritance/call_inherited_function_02.sol:14:24-35"]
 	internal_function [label="function(uint64) internal returns (uint64)\nbase.foo\ntests/contract_testcases/substrate/inheritance/call_inherited_function_02.sol:14:24-35"]
 	number_literal_24 [label="uint64 literal: 3\ntests/contract_testcases/substrate/inheritance/call_inherited_function_02.sol:14:32-33"]

+ 4 - 4
tests/contract_testcases/substrate/inheritance/cast_contract.dot

@@ -38,14 +38,14 @@ strict digraph "tests/contract_testcases/substrate/inheritance/cast_contract.sol
 	parameters_37 [label="parameters\nint32 a\nint32 b"]
 	returns_38 [label="returns\nint32 "]
 	return_39 [label="return\ntests/contract_testcases/substrate/inheritance/cast_contract.sol:25:17-29"]
-	add [label="add\nint32\ntests/contract_testcases/substrate/inheritance/cast_contract.sol:25:26-27"]
+	add [label="add\nint32\ntests/contract_testcases/substrate/inheritance/cast_contract.sol:25:24-29"]
 	variable_41 [label="variable: a\nint32\ntests/contract_testcases/substrate/inheritance/cast_contract.sol:25:24-25"]
 	variable_42 [label="variable: b\nint32\ntests/contract_testcases/substrate/inheritance/cast_contract.sol:25:28-29"]
 	op2_43 [label="function op2\ncontract: m1\ntests/contract_testcases/substrate/inheritance/cast_contract.sol:28:13-75\nsignature op2(int32,int32)\nvisibility public\nmutability nonpayable\noverride"]
 	parameters_44 [label="parameters\nint32 a\nint32 b"]
 	returns_45 [label="returns\nint32 "]
 	return_46 [label="return\ntests/contract_testcases/substrate/inheritance/cast_contract.sol:29:17-29"]
-	subtract [label="subtract\nint32\ntests/contract_testcases/substrate/inheritance/cast_contract.sol:29:26-27"]
+	subtract [label="subtract\nint32\ntests/contract_testcases/substrate/inheritance/cast_contract.sol:29:24-29"]
 	variable_48 [label="variable: a\nint32\ntests/contract_testcases/substrate/inheritance/cast_contract.sol:29:24-25"]
 	variable_49 [label="variable: b\nint32\ntests/contract_testcases/substrate/inheritance/cast_contract.sol:29:28-29"]
 	contract_50 [label="contract m2\ntests/contract_testcases/substrate/inheritance/cast_contract.sol:33:9-32"]
@@ -54,14 +54,14 @@ strict digraph "tests/contract_testcases/substrate/inheritance/cast_contract.sol
 	parameters_53 [label="parameters\nint32 a\nint32 b"]
 	returns_54 [label="returns\nint32 "]
 	return_55 [label="return\ntests/contract_testcases/substrate/inheritance/cast_contract.sol:35:17-29"]
-	multiply [label="multiply\nint32\ntests/contract_testcases/substrate/inheritance/cast_contract.sol:35:26-27"]
+	multiply [label="multiply\nint32\ntests/contract_testcases/substrate/inheritance/cast_contract.sol:35:24-29"]
 	variable_57 [label="variable: a\nint32\ntests/contract_testcases/substrate/inheritance/cast_contract.sol:35:24-25"]
 	variable_58 [label="variable: b\nint32\ntests/contract_testcases/substrate/inheritance/cast_contract.sol:35:28-29"]
 	op2_59 [label="function op2\ncontract: m2\ntests/contract_testcases/substrate/inheritance/cast_contract.sol:38:13-75\nsignature op2(int32,int32)\nvisibility public\nmutability nonpayable\noverride"]
 	parameters_60 [label="parameters\nint32 a\nint32 b"]
 	returns_61 [label="returns\nint32 "]
 	return_62 [label="return\ntests/contract_testcases/substrate/inheritance/cast_contract.sol:39:17-29"]
-	divide [label="divide\nint32\ntests/contract_testcases/substrate/inheritance/cast_contract.sol:39:26-27"]
+	divide [label="divide\nint32\ntests/contract_testcases/substrate/inheritance/cast_contract.sol:39:24-29"]
 	variable_64 [label="variable: a\nint32\ntests/contract_testcases/substrate/inheritance/cast_contract.sol:39:24-25"]
 	variable_65 [label="variable: b\nint32\ntests/contract_testcases/substrate/inheritance/cast_contract.sol:39:28-29"]
 	diagnostic [label="found interface 'operator'\nlevel Debug\ntests/contract_testcases/substrate/inheritance/cast_contract.sol:2:9-28"]

+ 3 - 3
tests/contract_testcases/substrate/inheritance/multiple_override.dot

@@ -6,7 +6,7 @@ strict digraph "tests/contract_testcases/substrate/inheritance/multiple_override
 	parameters [label="parameters\nuint64 a"]
 	returns [label="returns\nuint64 "]
 	return [label="return\ntests/contract_testcases/substrate/inheritance/multiple_override.sol:4:17-31"]
-	add [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override.sol:4:26-27"]
+	add [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override.sol:4:24-31"]
 	variable [label="variable: a\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override.sol:4:24-25"]
 	number_literal [label="uint64 literal: 102\ntests/contract_testcases/substrate/inheritance/multiple_override.sol:4:28-31"]
 	contract_11 [label="contract bar\ntests/contract_testcases/substrate/inheritance/multiple_override.sol:8:9-22"]
@@ -14,7 +14,7 @@ strict digraph "tests/contract_testcases/substrate/inheritance/multiple_override
 	parameters_13 [label="parameters\nuint64 a"]
 	returns_14 [label="returns\nuint64 "]
 	return_15 [label="return\ntests/contract_testcases/substrate/inheritance/multiple_override.sol:10:17-31"]
-	add_16 [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override.sol:10:26-27"]
+	add_16 [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override.sol:10:24-31"]
 	variable_17 [label="variable: a\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override.sol:10:24-25"]
 	number_literal_18 [label="uint64 literal: 102\ntests/contract_testcases/substrate/inheritance/multiple_override.sol:10:28-31"]
 	contract_19 [label="contract bar2\ntests/contract_testcases/substrate/inheritance/multiple_override.sol:14:9-23"]
@@ -22,7 +22,7 @@ strict digraph "tests/contract_testcases/substrate/inheritance/multiple_override
 	parameters_21 [label="parameters\nuint64 a"]
 	returns_22 [label="returns\nuint64 "]
 	return_23 [label="return\ntests/contract_testcases/substrate/inheritance/multiple_override.sol:16:17-31"]
-	add_24 [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override.sol:16:26-27"]
+	add_24 [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override.sol:16:24-31"]
 	variable_25 [label="variable: a\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override.sol:16:24-25"]
 	number_literal_26 [label="uint64 literal: 103\ntests/contract_testcases/substrate/inheritance/multiple_override.sol:16:28-31"]
 	diagnostic [label="found contract 'base'\nlevel Debug\ntests/contract_testcases/substrate/inheritance/multiple_override.sol:2:9-35"]

+ 3 - 3
tests/contract_testcases/substrate/inheritance/multiple_override_01.dot

@@ -6,7 +6,7 @@ strict digraph "tests/contract_testcases/substrate/inheritance/multiple_override
 	parameters [label="parameters\nuint64 a"]
 	returns [label="returns\nuint64 "]
 	return [label="return\ntests/contract_testcases/substrate/inheritance/multiple_override_01.sol:4:17-31"]
-	add [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_01.sol:4:26-27"]
+	add [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_01.sol:4:24-31"]
 	variable [label="variable: a\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_01.sol:4:24-25"]
 	number_literal [label="uint64 literal: 102\ntests/contract_testcases/substrate/inheritance/multiple_override_01.sol:4:28-31"]
 	contract_11 [label="contract bar\ntests/contract_testcases/substrate/inheritance/multiple_override_01.sol:8:9-22"]
@@ -14,7 +14,7 @@ strict digraph "tests/contract_testcases/substrate/inheritance/multiple_override
 	parameters_13 [label="parameters\nuint64 a"]
 	returns_14 [label="returns\nuint64 "]
 	return_15 [label="return\ntests/contract_testcases/substrate/inheritance/multiple_override_01.sol:10:17-31"]
-	add_16 [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_01.sol:10:26-27"]
+	add_16 [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_01.sol:10:24-31"]
 	variable_17 [label="variable: a\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_01.sol:10:24-25"]
 	number_literal_18 [label="uint64 literal: 102\ntests/contract_testcases/substrate/inheritance/multiple_override_01.sol:10:28-31"]
 	contract_19 [label="contract bar2\ntests/contract_testcases/substrate/inheritance/multiple_override_01.sol:14:9-23"]
@@ -22,7 +22,7 @@ strict digraph "tests/contract_testcases/substrate/inheritance/multiple_override
 	parameters_21 [label="parameters\nuint64 a"]
 	returns_22 [label="returns\nuint64 "]
 	return_23 [label="return\ntests/contract_testcases/substrate/inheritance/multiple_override_01.sol:16:17-31"]
-	add_24 [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_01.sol:16:26-27"]
+	add_24 [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_01.sol:16:24-31"]
 	variable_25 [label="variable: a\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_01.sol:16:24-25"]
 	number_literal_26 [label="uint64 literal: 103\ntests/contract_testcases/substrate/inheritance/multiple_override_01.sol:16:28-31"]
 	diagnostic [label="found contract 'base'\nlevel Debug\ntests/contract_testcases/substrate/inheritance/multiple_override_01.sol:2:9-35"]

+ 3 - 3
tests/contract_testcases/substrate/inheritance/multiple_override_02.dot

@@ -7,7 +7,7 @@ strict digraph "tests/contract_testcases/substrate/inheritance/multiple_override
 	parameters [label="parameters\nuint64 a"]
 	returns [label="returns\nuint64 "]
 	return [label="return\ntests/contract_testcases/substrate/inheritance/multiple_override_02.sol:4:17-31"]
-	add [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_02.sol:4:26-27"]
+	add [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_02.sol:4:24-31"]
 	variable [label="variable: a\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_02.sol:4:24-25"]
 	number_literal [label="uint64 literal: 102\ntests/contract_testcases/substrate/inheritance/multiple_override_02.sol:4:28-31"]
 	contract_12 [label="contract bar\ntests/contract_testcases/substrate/inheritance/multiple_override_02.sol:8:9-22"]
@@ -15,7 +15,7 @@ strict digraph "tests/contract_testcases/substrate/inheritance/multiple_override
 	parameters_14 [label="parameters\nuint64 a"]
 	returns_15 [label="returns\nuint64 "]
 	return_16 [label="return\ntests/contract_testcases/substrate/inheritance/multiple_override_02.sol:10:17-31"]
-	add_17 [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_02.sol:10:26-27"]
+	add_17 [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_02.sol:10:24-31"]
 	variable_18 [label="variable: a\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_02.sol:10:24-25"]
 	number_literal_19 [label="uint64 literal: 102\ntests/contract_testcases/substrate/inheritance/multiple_override_02.sol:10:28-31"]
 	contract_20 [label="contract bar2\ntests/contract_testcases/substrate/inheritance/multiple_override_02.sol:14:9-23"]
@@ -23,7 +23,7 @@ strict digraph "tests/contract_testcases/substrate/inheritance/multiple_override
 	parameters_22 [label="parameters\nuint64 a"]
 	returns_23 [label="returns\nuint64 "]
 	return_24 [label="return\ntests/contract_testcases/substrate/inheritance/multiple_override_02.sol:16:17-31"]
-	add_25 [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_02.sol:16:26-27"]
+	add_25 [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_02.sol:16:24-31"]
 	variable_26 [label="variable: a\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_02.sol:16:24-25"]
 	number_literal_27 [label="uint64 literal: 103\ntests/contract_testcases/substrate/inheritance/multiple_override_02.sol:16:28-31"]
 	contract_28 [label="contract bar3\ntests/contract_testcases/substrate/inheritance/multiple_override_02.sol:20:9-23"]

+ 3 - 3
tests/contract_testcases/substrate/inheritance/multiple_override_03.dot

@@ -6,7 +6,7 @@ strict digraph "tests/contract_testcases/substrate/inheritance/multiple_override
 	parameters [label="parameters\nuint64 a"]
 	returns [label="returns\nuint64 "]
 	return [label="return\ntests/contract_testcases/substrate/inheritance/multiple_override_03.sol:4:17-31"]
-	add [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_03.sol:4:26-27"]
+	add [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_03.sol:4:24-31"]
 	variable [label="variable: a\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_03.sol:4:24-25"]
 	number_literal [label="uint64 literal: 102\ntests/contract_testcases/substrate/inheritance/multiple_override_03.sol:4:28-31"]
 	contract_11 [label="contract bar\ntests/contract_testcases/substrate/inheritance/multiple_override_03.sol:8:9-22"]
@@ -14,7 +14,7 @@ strict digraph "tests/contract_testcases/substrate/inheritance/multiple_override
 	parameters_13 [label="parameters\nuint64 a"]
 	returns_14 [label="returns\nuint64 "]
 	return_15 [label="return\ntests/contract_testcases/substrate/inheritance/multiple_override_03.sol:10:17-31"]
-	add_16 [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_03.sol:10:26-27"]
+	add_16 [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_03.sol:10:24-31"]
 	variable_17 [label="variable: a\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_03.sol:10:24-25"]
 	number_literal_18 [label="uint64 literal: 102\ntests/contract_testcases/substrate/inheritance/multiple_override_03.sol:10:28-31"]
 	contract_19 [label="contract bar2\ntests/contract_testcases/substrate/inheritance/multiple_override_03.sol:14:9-23"]
@@ -22,7 +22,7 @@ strict digraph "tests/contract_testcases/substrate/inheritance/multiple_override
 	parameters_21 [label="parameters\nuint64 a"]
 	returns_22 [label="returns\nuint64 "]
 	return_23 [label="return\ntests/contract_testcases/substrate/inheritance/multiple_override_03.sol:16:17-31"]
-	add_24 [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_03.sol:16:26-27"]
+	add_24 [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_03.sol:16:24-31"]
 	variable_25 [label="variable: a\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_03.sol:16:24-25"]
 	number_literal_26 [label="uint64 literal: 103\ntests/contract_testcases/substrate/inheritance/multiple_override_03.sol:16:28-31"]
 	diagnostic [label="found contract 'base'\nlevel Debug\ntests/contract_testcases/substrate/inheritance/multiple_override_03.sol:2:9-35"]

+ 3 - 3
tests/contract_testcases/substrate/inheritance/multiple_override_04.dot

@@ -6,7 +6,7 @@ strict digraph "tests/contract_testcases/substrate/inheritance/multiple_override
 	parameters [label="parameters\nuint64 a"]
 	returns [label="returns\nuint64 "]
 	return [label="return\ntests/contract_testcases/substrate/inheritance/multiple_override_04.sol:4:17-31"]
-	add [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_04.sol:4:26-27"]
+	add [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_04.sol:4:24-31"]
 	variable [label="variable: a\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_04.sol:4:24-25"]
 	number_literal [label="uint64 literal: 102\ntests/contract_testcases/substrate/inheritance/multiple_override_04.sol:4:28-31"]
 	contract_11 [label="contract bar\ntests/contract_testcases/substrate/inheritance/multiple_override_04.sol:8:9-22"]
@@ -14,7 +14,7 @@ strict digraph "tests/contract_testcases/substrate/inheritance/multiple_override
 	parameters_13 [label="parameters\nuint64 a"]
 	returns_14 [label="returns\nuint64 "]
 	return_15 [label="return\ntests/contract_testcases/substrate/inheritance/multiple_override_04.sol:10:17-31"]
-	add_16 [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_04.sol:10:26-27"]
+	add_16 [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_04.sol:10:24-31"]
 	variable_17 [label="variable: a\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_04.sol:10:24-25"]
 	number_literal_18 [label="uint64 literal: 102\ntests/contract_testcases/substrate/inheritance/multiple_override_04.sol:10:28-31"]
 	contract_19 [label="contract bar2\ntests/contract_testcases/substrate/inheritance/multiple_override_04.sol:14:9-23"]
@@ -22,7 +22,7 @@ strict digraph "tests/contract_testcases/substrate/inheritance/multiple_override
 	parameters_21 [label="parameters\nuint64 a"]
 	returns_22 [label="returns\nuint64 "]
 	return_23 [label="return\ntests/contract_testcases/substrate/inheritance/multiple_override_04.sol:16:17-31"]
-	add_24 [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_04.sol:16:26-27"]
+	add_24 [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_04.sol:16:24-31"]
 	variable_25 [label="variable: a\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_04.sol:16:24-25"]
 	number_literal_26 [label="uint64 literal: 103\ntests/contract_testcases/substrate/inheritance/multiple_override_04.sol:16:28-31"]
 	diagnostic [label="found contract 'base'\nlevel Debug\ntests/contract_testcases/substrate/inheritance/multiple_override_04.sol:2:9-35"]

+ 4 - 4
tests/contract_testcases/substrate/inheritance/multiple_override_05.dot

@@ -6,14 +6,14 @@ strict digraph "tests/contract_testcases/substrate/inheritance/multiple_override
 	parameters [label="parameters\nuint64 a"]
 	returns [label="returns\nuint64 "]
 	return [label="return\ntests/contract_testcases/substrate/inheritance/multiple_override_05.sol:4:17-31"]
-	add [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_05.sol:4:26-27"]
+	add [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_05.sol:4:24-31"]
 	variable [label="variable: a\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_05.sol:4:24-25"]
 	number_literal [label="uint64 literal: 104\ntests/contract_testcases/substrate/inheritance/multiple_override_05.sol:4:28-31"]
 	foo_11 [label="function foo\ncontract: base\ntests/contract_testcases/substrate/inheritance/multiple_override_05.sol:7:13-80\nsignature foo(uint64)\nvisibility internal\nmutability nonpayable\noverride bar\noverride bar2"]
 	parameters_12 [label="parameters\nuint64 a"]
 	returns_13 [label="returns\nuint64 "]
 	return_14 [label="return\ntests/contract_testcases/substrate/inheritance/multiple_override_05.sol:8:17-31"]
-	add_15 [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_05.sol:8:26-27"]
+	add_15 [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_05.sol:8:24-31"]
 	variable_16 [label="variable: a\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_05.sol:8:24-25"]
 	number_literal_17 [label="uint64 literal: 102\ntests/contract_testcases/substrate/inheritance/multiple_override_05.sol:8:28-31"]
 	contract_18 [label="contract bar\ntests/contract_testcases/substrate/inheritance/multiple_override_05.sol:12:9-22"]
@@ -21,7 +21,7 @@ strict digraph "tests/contract_testcases/substrate/inheritance/multiple_override
 	parameters_20 [label="parameters\nuint64 a"]
 	returns_21 [label="returns\nuint64 "]
 	return_22 [label="return\ntests/contract_testcases/substrate/inheritance/multiple_override_05.sol:14:17-31"]
-	add_23 [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_05.sol:14:26-27"]
+	add_23 [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_05.sol:14:24-31"]
 	variable_24 [label="variable: a\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_05.sol:14:24-25"]
 	number_literal_25 [label="uint64 literal: 102\ntests/contract_testcases/substrate/inheritance/multiple_override_05.sol:14:28-31"]
 	contract_26 [label="contract bar2\ntests/contract_testcases/substrate/inheritance/multiple_override_05.sol:18:9-23"]
@@ -29,7 +29,7 @@ strict digraph "tests/contract_testcases/substrate/inheritance/multiple_override
 	parameters_28 [label="parameters\nuint64 a"]
 	returns_29 [label="returns\nuint64 "]
 	return_30 [label="return\ntests/contract_testcases/substrate/inheritance/multiple_override_05.sol:20:17-31"]
-	add_31 [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_05.sol:20:26-27"]
+	add_31 [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_05.sol:20:24-31"]
 	variable_32 [label="variable: a\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_05.sol:20:24-25"]
 	number_literal_33 [label="uint64 literal: 103\ntests/contract_testcases/substrate/inheritance/multiple_override_05.sol:20:28-31"]
 	diagnostic [label="found contract 'base'\nlevel Debug\ntests/contract_testcases/substrate/inheritance/multiple_override_05.sol:2:9-35"]

+ 4 - 4
tests/contract_testcases/substrate/inheritance/multiple_override_06.dot

@@ -6,14 +6,14 @@ strict digraph "tests/contract_testcases/substrate/inheritance/multiple_override
 	parameters [label="parameters\nuint64 a"]
 	returns [label="returns\nuint64 "]
 	return [label="return\ntests/contract_testcases/substrate/inheritance/multiple_override_06.sol:4:17-31"]
-	add [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_06.sol:4:26-27"]
+	add [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_06.sol:4:24-31"]
 	variable [label="variable: a\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_06.sol:4:24-25"]
 	number_literal [label="uint64 literal: 104\ntests/contract_testcases/substrate/inheritance/multiple_override_06.sol:4:28-31"]
 	foo_11 [label="function foo\ncontract: base\ntests/contract_testcases/substrate/inheritance/multiple_override_06.sol:7:13-80\nsignature foo(uint64)\nvisibility internal\nmutability nonpayable\noverride bar\noverride bar2"]
 	parameters_12 [label="parameters\nuint64 a"]
 	returns_13 [label="returns\nuint64 "]
 	return_14 [label="return\ntests/contract_testcases/substrate/inheritance/multiple_override_06.sol:8:17-31"]
-	add_15 [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_06.sol:8:26-27"]
+	add_15 [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_06.sol:8:24-31"]
 	variable_16 [label="variable: a\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_06.sol:8:24-25"]
 	number_literal_17 [label="uint64 literal: 102\ntests/contract_testcases/substrate/inheritance/multiple_override_06.sol:8:28-31"]
 	contract_18 [label="contract bar\ntests/contract_testcases/substrate/inheritance/multiple_override_06.sol:12:9-22"]
@@ -21,7 +21,7 @@ strict digraph "tests/contract_testcases/substrate/inheritance/multiple_override
 	parameters_20 [label="parameters\nuint64 a"]
 	returns_21 [label="returns\nuint64 "]
 	return_22 [label="return\ntests/contract_testcases/substrate/inheritance/multiple_override_06.sol:14:17-31"]
-	add_23 [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_06.sol:14:26-27"]
+	add_23 [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_06.sol:14:24-31"]
 	variable_24 [label="variable: a\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_06.sol:14:24-25"]
 	number_literal_25 [label="uint64 literal: 102\ntests/contract_testcases/substrate/inheritance/multiple_override_06.sol:14:28-31"]
 	contract_26 [label="contract bar2\ntests/contract_testcases/substrate/inheritance/multiple_override_06.sol:18:9-23"]
@@ -29,7 +29,7 @@ strict digraph "tests/contract_testcases/substrate/inheritance/multiple_override
 	parameters_28 [label="parameters\nuint64 a"]
 	returns_29 [label="returns\nuint64 "]
 	return_30 [label="return\ntests/contract_testcases/substrate/inheritance/multiple_override_06.sol:20:17-31"]
-	add_31 [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_06.sol:20:26-27"]
+	add_31 [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_06.sol:20:24-31"]
 	variable_32 [label="variable: a\nuint64\ntests/contract_testcases/substrate/inheritance/multiple_override_06.sol:20:24-25"]
 	number_literal_33 [label="uint64 literal: 103\ntests/contract_testcases/substrate/inheritance/multiple_override_06.sol:20:28-31"]
 	diagnostic [label="found contract 'base'\nlevel Debug\ntests/contract_testcases/substrate/inheritance/multiple_override_06.sol:2:9-35"]

+ 1 - 1
tests/contract_testcases/substrate/inheritance/simple_interface.dot

@@ -9,7 +9,7 @@ strict digraph "tests/contract_testcases/substrate/inheritance/simple_interface.
 	parameters_8 [label="parameters\nuint32 a"]
 	returns_9 [label="returns\nuint32 "]
 	return [label="return\ntests/contract_testcases/substrate/inheritance/simple_interface.sol:8:17-29"]
-	multiply [label="multiply\nuint32\ntests/contract_testcases/substrate/inheritance/simple_interface.sol:8:26-27"]
+	multiply [label="multiply\nuint32\ntests/contract_testcases/substrate/inheritance/simple_interface.sol:8:24-29"]
 	variable [label="variable: a\nuint32\ntests/contract_testcases/substrate/inheritance/simple_interface.sol:8:24-25"]
 	number_literal [label="uint32 literal: 2\ntests/contract_testcases/substrate/inheritance/simple_interface.sol:8:28-29"]
 	diagnostic [label="found interface 'IFoo'\nlevel Debug\ntests/contract_testcases/substrate/inheritance/simple_interface.sol:2:9-24"]

+ 1 - 1
tests/contract_testcases/substrate/inheritance/test_override_01.dot

@@ -4,7 +4,7 @@ strict digraph "tests/contract_testcases/substrate/inheritance/test_override_01.
 	parameters [label="parameters\nuint64 a"]
 	returns [label="returns\nuint64 "]
 	return [label="return\ntests/contract_testcases/substrate/inheritance/test_override_01.sol:4:17-31"]
-	add [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/test_override_01.sol:4:26-27"]
+	add [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/test_override_01.sol:4:24-31"]
 	variable [label="variable: a\nuint64\ntests/contract_testcases/substrate/inheritance/test_override_01.sol:4:24-25"]
 	number_literal [label="uint64 literal: 102\ntests/contract_testcases/substrate/inheritance/test_override_01.sol:4:28-31"]
 	diagnostic [label="found contract 'base'\nlevel Debug\ntests/contract_testcases/substrate/inheritance/test_override_01.sol:2:9-23"]

+ 1 - 1
tests/contract_testcases/substrate/inheritance/test_override_02.dot

@@ -4,7 +4,7 @@ strict digraph "tests/contract_testcases/substrate/inheritance/test_override_02.
 	parameters [label="parameters\nuint64 a"]
 	returns [label="returns\nuint64 "]
 	return [label="return\ntests/contract_testcases/substrate/inheritance/test_override_02.sol:4:17-31"]
-	add [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/test_override_02.sol:4:26-27"]
+	add [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/test_override_02.sol:4:24-31"]
 	variable [label="variable: a\nuint64\ntests/contract_testcases/substrate/inheritance/test_override_02.sol:4:24-25"]
 	number_literal [label="uint64 literal: 102\ntests/contract_testcases/substrate/inheritance/test_override_02.sol:4:28-31"]
 	contract_9 [label="contract bar\ntests/contract_testcases/substrate/inheritance/test_override_02.sol:8:9-22"]

+ 1 - 1
tests/contract_testcases/substrate/inheritance/test_override_03.dot

@@ -4,7 +4,7 @@ strict digraph "tests/contract_testcases/substrate/inheritance/test_override_03.
 	parameters [label="parameters\nuint64 a"]
 	returns [label="returns\nuint64 "]
 	return [label="return\ntests/contract_testcases/substrate/inheritance/test_override_03.sol:4:17-31"]
-	add [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/test_override_03.sol:4:26-27"]
+	add [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/test_override_03.sol:4:24-31"]
 	variable [label="variable: a\nuint64\ntests/contract_testcases/substrate/inheritance/test_override_03.sol:4:24-25"]
 	number_literal [label="uint64 literal: 102\ntests/contract_testcases/substrate/inheritance/test_override_03.sol:4:28-31"]
 	diagnostic [label="found contract 'base'\nlevel Debug\ntests/contract_testcases/substrate/inheritance/test_override_03.sol:2:9-23"]

+ 2 - 2
tests/contract_testcases/substrate/inheritance/test_override_04.dot

@@ -5,7 +5,7 @@ strict digraph "tests/contract_testcases/substrate/inheritance/test_override_04.
 	parameters [label="parameters\nuint64 a"]
 	returns [label="returns\nuint64 "]
 	return [label="return\ntests/contract_testcases/substrate/inheritance/test_override_04.sol:4:17-31"]
-	add [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/test_override_04.sol:4:26-27"]
+	add [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/test_override_04.sol:4:24-31"]
 	variable [label="variable: a\nuint64\ntests/contract_testcases/substrate/inheritance/test_override_04.sol:4:24-25"]
 	number_literal [label="uint64 literal: 102\ntests/contract_testcases/substrate/inheritance/test_override_04.sol:4:28-31"]
 	contract_10 [label="contract bar\ntests/contract_testcases/substrate/inheritance/test_override_04.sol:8:9-22"]
@@ -13,7 +13,7 @@ strict digraph "tests/contract_testcases/substrate/inheritance/test_override_04.
 	parameters_12 [label="parameters\nuint64 a"]
 	returns_13 [label="returns\nuint64 "]
 	return_14 [label="return\ntests/contract_testcases/substrate/inheritance/test_override_04.sol:10:17-31"]
-	add_15 [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/test_override_04.sol:10:26-27"]
+	add_15 [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/test_override_04.sol:10:24-31"]
 	variable_16 [label="variable: a\nuint64\ntests/contract_testcases/substrate/inheritance/test_override_04.sol:10:24-25"]
 	number_literal_17 [label="uint64 literal: 102\ntests/contract_testcases/substrate/inheritance/test_override_04.sol:10:28-31"]
 	diagnostic [label="found contract 'base'\nlevel Debug\ntests/contract_testcases/substrate/inheritance/test_override_04.sol:2:9-29"]

+ 2 - 2
tests/contract_testcases/substrate/inheritance/test_override_05.dot

@@ -6,7 +6,7 @@ strict digraph "tests/contract_testcases/substrate/inheritance/test_override_05.
 	parameters [label="parameters\nuint64 a"]
 	returns [label="returns\nuint64 "]
 	return [label="return\ntests/contract_testcases/substrate/inheritance/test_override_05.sol:4:17-31"]
-	add [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/test_override_05.sol:4:26-27"]
+	add [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/test_override_05.sol:4:24-31"]
 	variable [label="variable: a\nuint64\ntests/contract_testcases/substrate/inheritance/test_override_05.sol:4:24-25"]
 	number_literal [label="uint64 literal: 102\ntests/contract_testcases/substrate/inheritance/test_override_05.sol:4:28-31"]
 	contract_11 [label="contract bar\ntests/contract_testcases/substrate/inheritance/test_override_05.sol:8:9-22"]
@@ -14,7 +14,7 @@ strict digraph "tests/contract_testcases/substrate/inheritance/test_override_05.
 	parameters_13 [label="parameters\nuint64 a"]
 	returns_14 [label="returns\nuint64 "]
 	return_15 [label="return\ntests/contract_testcases/substrate/inheritance/test_override_05.sol:10:17-31"]
-	add_16 [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/test_override_05.sol:10:26-27"]
+	add_16 [label="add\nuint64\ntests/contract_testcases/substrate/inheritance/test_override_05.sol:10:24-31"]
 	variable_17 [label="variable: a\nuint64\ntests/contract_testcases/substrate/inheritance/test_override_05.sol:10:24-25"]
 	number_literal_18 [label="uint64 literal: 102\ntests/contract_testcases/substrate/inheritance/test_override_05.sol:10:28-31"]
 	contract_19 [label="contract bar2\ntests/contract_testcases/substrate/inheritance/test_override_05.sol:14:9-23"]

+ 2 - 2
tests/contract_testcases/substrate/libraries/using_02.dot

@@ -4,8 +4,8 @@ strict digraph "tests/contract_testcases/substrate/libraries/using_02.sol" {
 	parameters [label="parameters\nuint64 a\nuint64 b"]
 	returns [label="returns\nuint64 "]
 	return [label="return\ntests/contract_testcases/substrate/libraries/using_02.sol:4:17-37"]
-	conditional [label="conditiona unreachable\ntests/contract_testcases/substrate/libraries/using_02.sol:4:30-35"]
-	more [label="more\ntests/contract_testcases/substrate/libraries/using_02.sol:4:26-27"]
+	conditional [label="conditiona unreachable\ntests/contract_testcases/substrate/libraries/using_02.sol:4:24-37"]
+	more [label="more\ntests/contract_testcases/substrate/libraries/using_02.sol:4:24-29"]
 	variable [label="variable: a\nuint64\ntests/contract_testcases/substrate/libraries/using_02.sol:4:24-25"]
 	variable_9 [label="variable: b\nuint64\ntests/contract_testcases/substrate/libraries/using_02.sol:4:28-29"]
 	variable_10 [label="variable: a\nuint64\ntests/contract_testcases/substrate/libraries/using_02.sol:4:32-33"]

+ 2 - 2
tests/contract_testcases/substrate/libraries/using_03.dot

@@ -4,8 +4,8 @@ strict digraph "tests/contract_testcases/substrate/libraries/using_03.sol" {
 	parameters [label="parameters\nuint64 a\nuint64 b"]
 	returns [label="returns\nuint64 "]
 	return [label="return\ntests/contract_testcases/substrate/libraries/using_03.sol:4:17-37"]
-	conditional [label="conditiona unreachable\ntests/contract_testcases/substrate/libraries/using_03.sol:4:30-35"]
-	more [label="more\ntests/contract_testcases/substrate/libraries/using_03.sol:4:26-27"]
+	conditional [label="conditiona unreachable\ntests/contract_testcases/substrate/libraries/using_03.sol:4:24-37"]
+	more [label="more\ntests/contract_testcases/substrate/libraries/using_03.sol:4:24-29"]
 	variable [label="variable: a\nuint64\ntests/contract_testcases/substrate/libraries/using_03.sol:4:24-25"]
 	variable_9 [label="variable: b\nuint64\ntests/contract_testcases/substrate/libraries/using_03.sol:4:28-29"]
 	variable_10 [label="variable: a\nuint64\ntests/contract_testcases/substrate/libraries/using_03.sol:4:32-33"]

+ 2 - 2
tests/contract_testcases/substrate/libraries/using_04.dot

@@ -15,8 +15,8 @@ strict digraph "tests/contract_testcases/substrate/libraries/using_04.sol" {
 	parameters_14 [label="parameters\nuint64 a\nuint64 b"]
 	returns_15 [label="returns\nuint64 "]
 	return_16 [label="return\ntests/contract_testcases/substrate/libraries/using_04.sol:12:17-37"]
-	conditional [label="conditiona unreachable\ntests/contract_testcases/substrate/libraries/using_04.sol:12:30-35"]
-	more [label="more\ntests/contract_testcases/substrate/libraries/using_04.sol:12:26-27"]
+	conditional [label="conditiona unreachable\ntests/contract_testcases/substrate/libraries/using_04.sol:12:24-37"]
+	more [label="more\ntests/contract_testcases/substrate/libraries/using_04.sol:12:24-29"]
 	variable_19 [label="variable: a\nuint64\ntests/contract_testcases/substrate/libraries/using_04.sol:12:24-25"]
 	variable_20 [label="variable: b\nuint64\ntests/contract_testcases/substrate/libraries/using_04.sol:12:28-29"]
 	variable_21 [label="variable: a\nuint64\ntests/contract_testcases/substrate/libraries/using_04.sol:12:32-33"]

+ 2 - 2
tests/contract_testcases/substrate/libraries/using_05.dot

@@ -9,8 +9,8 @@ strict digraph "tests/contract_testcases/substrate/libraries/using_05.sol" {
 	parameters_8 [label="parameters\nuint64 a\nuint64 b"]
 	returns_9 [label="returns\nuint64 "]
 	return [label="return\ntests/contract_testcases/substrate/libraries/using_05.sol:12:17-37"]
-	conditional [label="conditiona unreachable\ntests/contract_testcases/substrate/libraries/using_05.sol:12:30-35"]
-	more [label="more\ntests/contract_testcases/substrate/libraries/using_05.sol:12:26-27"]
+	conditional [label="conditiona unreachable\ntests/contract_testcases/substrate/libraries/using_05.sol:12:24-37"]
+	more [label="more\ntests/contract_testcases/substrate/libraries/using_05.sol:12:24-29"]
 	variable [label="variable: a\nuint64\ntests/contract_testcases/substrate/libraries/using_05.sol:12:24-25"]
 	variable_14 [label="variable: b\nuint64\ntests/contract_testcases/substrate/libraries/using_05.sol:12:28-29"]
 	variable_15 [label="variable: a\nuint64\ntests/contract_testcases/substrate/libraries/using_05.sol:12:32-33"]

+ 2 - 2
tests/contract_testcases/substrate/libraries/using_06.dot

@@ -11,8 +11,8 @@ strict digraph "tests/contract_testcases/substrate/libraries/using_06.sol" {
 	parameters_10 [label="parameters\nuint64 a\nuint64 b"]
 	returns_11 [label="returns\nuint64 "]
 	return [label="return\ntests/contract_testcases/substrate/libraries/using_06.sol:14:17-37"]
-	conditional [label="conditiona unreachable\ntests/contract_testcases/substrate/libraries/using_06.sol:14:30-35"]
-	more [label="more\ntests/contract_testcases/substrate/libraries/using_06.sol:14:26-27"]
+	conditional [label="conditiona unreachable\ntests/contract_testcases/substrate/libraries/using_06.sol:14:24-37"]
+	more [label="more\ntests/contract_testcases/substrate/libraries/using_06.sol:14:24-29"]
 	variable [label="variable: a\nuint64\ntests/contract_testcases/substrate/libraries/using_06.sol:14:24-25"]
 	variable_16 [label="variable: b\nuint64\ntests/contract_testcases/substrate/libraries/using_06.sol:14:28-29"]
 	variable_17 [label="variable: a\nuint64\ntests/contract_testcases/substrate/libraries/using_06.sol:14:32-33"]

+ 1 - 1
tests/contract_testcases/substrate/primitives/address_06.dot

@@ -5,7 +5,7 @@ strict digraph "tests/contract_testcases/substrate/primitives/address_06.sol" {
 	bar [label="function bar\ncontract: test\ntests/contract_testcases/substrate/primitives/address_06.sol:4:13-50\nsignature bar()\nvisibility private\nmutability nonpayable"]
 	returns [label="returns\nbool "]
 	return [label="return\ntests/contract_testcases/substrate/primitives/address_06.sol:5:17-40"]
-	more [label="more\ntests/contract_testcases/substrate/primitives/address_06.sol:5:28-29"]
+	more [label="more\ntests/contract_testcases/substrate/primitives/address_06.sol:5:24-40"]
 	storage_load [label="storage load address\ntests/contract_testcases/substrate/primitives/address_06.sol:5:24-27"]
 	storage_var [label="storage variable\ntest.foo\naddress storage\ntests/contract_testcases/substrate/primitives/address_06.sol:5:24-27"]
 	number_literal_10 [label="address literal: 0\ntests/contract_testcases/substrate/primitives/address_06.sol:5:30-40"]

+ 2 - 2
tests/contract_testcases/substrate/primitives/address_payable_type_01.dot

@@ -4,7 +4,7 @@ strict digraph "tests/contract_testcases/substrate/primitives/address_payable_ty
 	parameters [label="parameters\naddress payable a\naddress b"]
 	returns [label="returns\nbool "]
 	return [label="return\ntests/contract_testcases/substrate/primitives/address_payable_type_01.sol:4:17-30"]
-	equal [label="equal\ntests/contract_testcases/substrate/primitives/address_payable_type_01.sol:4:26-28"]
+	equal [label="equal\ntests/contract_testcases/substrate/primitives/address_payable_type_01.sol:4:24-30"]
 	cast [label="cast address\ntests/contract_testcases/substrate/primitives/address_payable_type_01.sol:4:24-25"]
 	variable [label="variable: a\naddress payable\ntests/contract_testcases/substrate/primitives/address_payable_type_01.sol:4:24-25"]
 	variable_9 [label="variable: b\naddress\ntests/contract_testcases/substrate/primitives/address_payable_type_01.sol:4:29-30"]
@@ -12,7 +12,7 @@ strict digraph "tests/contract_testcases/substrate/primitives/address_payable_ty
 	parameters_11 [label="parameters\naddress payable a\naddress b"]
 	returns_12 [label="returns\nbool "]
 	return_13 [label="return\ntests/contract_testcases/substrate/primitives/address_payable_type_01.sol:8:17-30"]
-	equal_14 [label="equal\ntests/contract_testcases/substrate/primitives/address_payable_type_01.sol:8:26-28"]
+	equal_14 [label="equal\ntests/contract_testcases/substrate/primitives/address_payable_type_01.sol:8:24-30"]
 	variable_15 [label="variable: b\naddress\ntests/contract_testcases/substrate/primitives/address_payable_type_01.sol:8:24-25"]
 	cast_16 [label="cast address\ntests/contract_testcases/substrate/primitives/address_payable_type_01.sol:8:29-30"]
 	variable_17 [label="variable: a\naddress payable\ntests/contract_testcases/substrate/primitives/address_payable_type_01.sol:8:29-30"]

+ 2 - 2
tests/contract_testcases/substrate/value/external_call_value_10.dot

@@ -12,8 +12,8 @@ strict digraph "tests/contract_testcases/substrate/value/external_call_value_10.
 	external_function [label="function(int32) external returns (void)\na.test\ntests/contract_testcases/substrate/value/external_call_value_10.sol:12:17-45"]
 	variable [label="variable: f\ncontract a\ntests/contract_testcases/substrate/value/external_call_value_10.sol:12:17-18"]
 	number_literal [label="int32 literal: 501\ntests/contract_testcases/substrate/value/external_call_value_10.sol:12:40-43"]
-	cast [label="cast uint128\ntests/contract_testcases/substrate/value/external_call_value_10.sol:12:32-33"]
-	subtract [label="subtract\nuint128\ntests/contract_testcases/substrate/value/external_call_value_10.sol:12:32-33"]
+	cast [label="cast uint128\ntests/contract_testcases/substrate/value/external_call_value_10.sol:12:31-34"]
+	subtract [label="subtract\nuint128\ntests/contract_testcases/substrate/value/external_call_value_10.sol:12:31-34"]
 	number_literal_16 [label="uint128 literal: 2\ntests/contract_testcases/substrate/value/external_call_value_10.sol:12:31-32"]
 	number_literal_17 [label="uint128 literal: 2\ntests/contract_testcases/substrate/value/external_call_value_10.sol:12:33-34"]
 	diagnostic [label="found contract 'a'\nlevel Debug\ntests/contract_testcases/substrate/value/external_call_value_10.sol:2:9-20"]

+ 2 - 2
tests/contract_testcases/substrate/value/external_call_value_11.dot

@@ -12,8 +12,8 @@ strict digraph "tests/contract_testcases/substrate/value/external_call_value_11.
 	external_function [label="function(int32) external returns (void)\na.test\ntests/contract_testcases/substrate/value/external_call_value_11.sol:12:17-41"]
 	variable [label="variable: f\ncontract a\ntests/contract_testcases/substrate/value/external_call_value_11.sol:12:17-18"]
 	number_literal [label="int32 literal: 501\ntests/contract_testcases/substrate/value/external_call_value_11.sol:12:37-40"]
-	cast [label="cast uint128\ntests/contract_testcases/substrate/value/external_call_value_11.sol:12:32-33"]
-	multiply [label="multiply\nuint128\ntests/contract_testcases/substrate/value/external_call_value_11.sol:12:32-33"]
+	cast [label="cast uint128\ntests/contract_testcases/substrate/value/external_call_value_11.sol:12:31-35"]
+	multiply [label="multiply\nuint128\ntests/contract_testcases/substrate/value/external_call_value_11.sol:12:31-35"]
 	number_literal_16 [label="uint128 literal: 0\ntests/contract_testcases/substrate/value/external_call_value_11.sol:12:31-32"]
 	number_literal_17 [label="uint128 literal: 10\ntests/contract_testcases/substrate/value/external_call_value_11.sol:12:33-35"]
 	diagnostic [label="found contract 'a'\nlevel Debug\ntests/contract_testcases/substrate/value/external_call_value_11.sol:2:9-20"]

+ 1 - 1
tests/contract_testcases/substrate/variables/immutable_01.dot

@@ -9,7 +9,7 @@ strict digraph "tests/contract_testcases/substrate/variables/immutable_01.sol" {
 	storage_var [label="storage variable\nx.y\nint256 storage\nimplicit"]
 	foo [label="function foo\ncontract: x\ntests/contract_testcases/substrate/variables/immutable_01.sol:4:13-34\nsignature foo()\nvisibility public\nmutability nonpayable"]
 	diagnostic [label="found contract 'x'\nlevel Debug\ntests/contract_testcases/substrate/variables/immutable_01.sol:1:1-12"]
-	diagnostic_12 [label="cannot assign to immutable outside of constructor\nlevel Error\ntests/contract_testcases/substrate/variables/immutable_01.sol:5:19-21"]
+	diagnostic_12 [label="cannot assign to immutable outside of constructor\nlevel Error\ntests/contract_testcases/substrate/variables/immutable_01.sol:5:17-23"]
 	contracts -> contract
 	contract -> var [label="variable"]
 	var -> number_literal [label="initializer"]

+ 1 - 1
tests/contract_testcases/substrate/variables/test_variable_initializer_errors_02.dot

@@ -1,7 +1,7 @@
 strict digraph "tests/contract_testcases/substrate/variables/test_variable_initializer_errors_02.sol" {
 	contract [label="contract test\ntests/contract_testcases/substrate/variables/test_variable_initializer_errors_02.sol:1:1-15"]
 	var [label="variable x\nvisibility internal\ntests/contract_testcases/substrate/variables/test_variable_initializer_errors_02.sol:2:13-29"]
-	add [label="add\nuint256\ntests/contract_testcases/substrate/variables/test_variable_initializer_errors_02.sol:2:24-25"]
+	add [label="add\nuint256\ntests/contract_testcases/substrate/variables/test_variable_initializer_errors_02.sol:2:22-29"]
 	storage_load [label="storage load uint256\ntests/contract_testcases/substrate/variables/test_variable_initializer_errors_02.sol:2:22-23"]
 	storage_var [label="storage variable\ntest.y\nuint256 storage\ntests/contract_testcases/substrate/variables/test_variable_initializer_errors_02.sol:2:22-23"]
 	number_literal [label="uint256 literal: 102\ntests/contract_testcases/substrate/variables/test_variable_initializer_errors_02.sol:2:26-29"]

+ 1 - 1
tests/contract_testcases/substrate/variables/test_variable_initializer_errors_03.dot

@@ -1,7 +1,7 @@
 strict digraph "tests/contract_testcases/substrate/variables/test_variable_initializer_errors_03.sol" {
 	contract [label="contract test\ntests/contract_testcases/substrate/variables/test_variable_initializer_errors_03.sol:1:1-15"]
 	var [label="variable x\nvisibility internal\ntests/contract_testcases/substrate/variables/test_variable_initializer_errors_03.sol:2:13-29"]
-	add [label="add\nuint256\ntests/contract_testcases/substrate/variables/test_variable_initializer_errors_03.sol:2:24-25"]
+	add [label="add\nuint256\ntests/contract_testcases/substrate/variables/test_variable_initializer_errors_03.sol:2:22-29"]
 	constant [label="constant variable\ntest.y\nuint256\ntests/contract_testcases/substrate/variables/test_variable_initializer_errors_03.sol:2:22-23"]
 	number_literal [label="uint256 literal: 102\ntests/contract_testcases/substrate/variables/test_variable_initializer_errors_03.sol:2:26-29"]
 	var_7 [label="variable y\nvisibility internal\nconstant\ntests/contract_testcases/substrate/variables/test_variable_initializer_errors_03.sol:3:13-34"]

+ 1 - 1
tests/contract_testcases/substrate/variables/test_variable_initializer_errors_04.dot

@@ -1,7 +1,7 @@
 strict digraph "tests/contract_testcases/substrate/variables/test_variable_initializer_errors_04.sol" {
 	contract [label="contract test\ntests/contract_testcases/substrate/variables/test_variable_initializer_errors_04.sol:1:1-15"]
 	var [label="variable x\nvisibility internal\ntests/contract_testcases/substrate/variables/test_variable_initializer_errors_04.sol:3:5-21"]
-	add [label="add\nuint256\ntests/contract_testcases/substrate/variables/test_variable_initializer_errors_04.sol:3:16-17"]
+	add [label="add\nuint256\ntests/contract_testcases/substrate/variables/test_variable_initializer_errors_04.sol:3:14-21"]
 	storage_load [label="storage load uint256\ntests/contract_testcases/substrate/variables/test_variable_initializer_errors_04.sol:3:14-15"]
 	storage_var [label="storage variable\ntest.x\nuint256 storage\ntests/contract_testcases/substrate/variables/test_variable_initializer_errors_04.sol:3:14-15"]
 	number_literal [label="uint256 literal: 102\ntests/contract_testcases/substrate/variables/test_variable_initializer_errors_04.sol:3:18-21"]