function_cal_cond.dot 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. strict digraph "tests/contract_testcases/solana/yul/function_cal_cond.sol" {
  2. contract [label="contract testTypes\ntests/contract_testcases/solana/yul/function_cal_cond.sol:1:1-35:2"]
  3. testAsm [label="function testAsm\ncontract: testTypes\ntests/contract_testcases/solana/yul/function_cal_cond.sol:2:5-35\nsignature testAsm()\nvisibility public\nmutability pure"]
  4. inline_assembly [label="inline assembly\ntests/contract_testcases/solana/yul/function_cal_cond.sol:3:9-33:10"]
  5. yul_function_definition [label="function definition tryThis\ntests/contract_testcases/solana/yul/function_cal_cond.sol:5:17-13:18"]
  6. yul_function_parameter [label="function parameter uint256: b\ntests/contract_testcases/solana/yul/function_cal_cond.sol:5:34-35"]
  7. yul_function_parameter_6 [label="function parameter uint256: a\ntests/contract_testcases/solana/yul/function_cal_cond.sol:5:37-38"]
  8. yul_function_return [label="return parameter uint256: c\ntests/contract_testcases/solana/yul/function_cal_cond.sol:5:43-44"]
  9. yul_assignment [label="yul assignment\ntests/contract_testcases/solana/yul/function_cal_cond.sol:6:21-35"]
  10. yul_variable [label="yul variable: a\nuint256\ntests/contract_testcases/solana/yul/function_cal_cond.sol:6:21-22"]
  11. yul_builtin_call [label="yul builtin call 'add'\ntests/contract_testcases/solana/yul/function_cal_cond.sol:6:26-35"]
  12. yul_variable_11 [label="yul variable: a\nuint256\ntests/contract_testcases/solana/yul/function_cal_cond.sol:6:30-31"]
  13. yul_number_literal [label="uint256 literal: 4\ntests/contract_testcases/solana/yul/function_cal_cond.sol:6:33-34"]
  14. if [label="yul if\ntests/contract_testcases/solana/yul/function_cal_cond.sol:7:21-9:22"]
  15. yul_builtin_call_14 [label="yul builtin call 'gt'\ntests/contract_testcases/solana/yul/function_cal_cond.sol:7:24-32"]
  16. yul_variable_15 [label="yul variable: a\nuint256\ntests/contract_testcases/solana/yul/function_cal_cond.sol:7:27-28"]
  17. yul_number_literal_16 [label="uint256 literal: 5\ntests/contract_testcases/solana/yul/function_cal_cond.sol:7:30-31"]
  18. assembly_block [label="assembly block\ntests/contract_testcases/solana/yul/function_cal_cond.sol:7:21-9:22"]
  19. leave [label="leave\ntests/contract_testcases/solana/yul/function_cal_cond.sol:8:25-30"]
  20. yul_assignment_19 [label="yul assignment\ntests/contract_testcases/solana/yul/function_cal_cond.sol:10:21-35"]
  21. yul_variable_20 [label="yul variable: b\nuint256\ntests/contract_testcases/solana/yul/function_cal_cond.sol:10:21-22"]
  22. yul_builtin_call_21 [label="yul builtin call 'add'\ntests/contract_testcases/solana/yul/function_cal_cond.sol:10:26-35"]
  23. yul_variable_22 [label="yul variable: a\nuint256\ntests/contract_testcases/solana/yul/function_cal_cond.sol:10:30-31"]
  24. yul_number_literal_23 [label="uint256 literal: 6\ntests/contract_testcases/solana/yul/function_cal_cond.sol:10:33-34"]
  25. yul_assignment_24 [label="yul assignment\ntests/contract_testcases/solana/yul/function_cal_cond.sol:11:21-39"]
  26. yul_variable_25 [label="yul variable: c\nuint256\ntests/contract_testcases/solana/yul/function_cal_cond.sol:11:21-22"]
  27. yul_function_call [label="yul function call 'tryThat'\ntests/contract_testcases/solana/yul/function_cal_cond.sol:11:26-33"]
  28. yul_variable_27 [label="yul variable: b\nuint256\ntests/contract_testcases/solana/yul/function_cal_cond.sol:11:34-35"]
  29. yul_number_literal_28 [label="uint256 literal: 2\ntests/contract_testcases/solana/yul/function_cal_cond.sol:11:37-38"]
  30. yul_builtin_call_29 [label="yul builtin call 'invalid'\ntests/contract_testcases/solana/yul/function_cal_cond.sol:12:21-30"]
  31. yul_function_definition_30 [label="function definition tryThat\ntests/contract_testcases/solana/yul/function_cal_cond.sol:23:17-30:18"]
  32. yul_function_parameter_31 [label="function parameter uint256: b\ntests/contract_testcases/solana/yul/function_cal_cond.sol:23:34-35"]
  33. yul_function_parameter_32 [label="function parameter uint256: a\ntests/contract_testcases/solana/yul/function_cal_cond.sol:23:37-38"]
  34. yul_function_return_33 [label="return parameter uint256: c\ntests/contract_testcases/solana/yul/function_cal_cond.sol:23:43-44"]
  35. yul_assignment_34 [label="yul assignment\ntests/contract_testcases/solana/yul/function_cal_cond.sol:24:21-35"]
  36. yul_variable_35 [label="yul variable: a\nuint256\ntests/contract_testcases/solana/yul/function_cal_cond.sol:24:21-22"]
  37. yul_builtin_call_36 [label="yul builtin call 'add'\ntests/contract_testcases/solana/yul/function_cal_cond.sol:24:26-35"]
  38. yul_variable_37 [label="yul variable: a\nuint256\ntests/contract_testcases/solana/yul/function_cal_cond.sol:24:30-31"]
  39. yul_number_literal_38 [label="uint256 literal: 4\ntests/contract_testcases/solana/yul/function_cal_cond.sol:24:33-34"]
  40. if_39 [label="yul if\ntests/contract_testcases/solana/yul/function_cal_cond.sol:25:21-27:22"]
  41. yul_builtin_call_40 [label="yul builtin call 'gt'\ntests/contract_testcases/solana/yul/function_cal_cond.sol:25:24-32"]
  42. yul_variable_41 [label="yul variable: a\nuint256\ntests/contract_testcases/solana/yul/function_cal_cond.sol:25:27-28"]
  43. yul_number_literal_42 [label="uint256 literal: 5\ntests/contract_testcases/solana/yul/function_cal_cond.sol:25:30-31"]
  44. assembly_block_43 [label="assembly block\ntests/contract_testcases/solana/yul/function_cal_cond.sol:25:21-27:22"]
  45. leave_44 [label="leave\ntests/contract_testcases/solana/yul/function_cal_cond.sol:26:25-30"]
  46. yul_assignment_45 [label="yul assignment\ntests/contract_testcases/solana/yul/function_cal_cond.sol:28:21-27"]
  47. yul_variable_46 [label="yul variable: c\nuint256\ntests/contract_testcases/solana/yul/function_cal_cond.sol:28:21-22"]
  48. yul_number_literal_47 [label="uint256 literal: 5\ntests/contract_testcases/solana/yul/function_cal_cond.sol:28:26-27"]
  49. yul_builtin_call_48 [label="yul builtin call 'invalid'\ntests/contract_testcases/solana/yul/function_cal_cond.sol:29:21-30"]
  50. yul_function_definition_49 [label="function definition foo\ntests/contract_testcases/solana/yul/function_cal_cond.sol:16:21-18:22"]
  51. yul_function_parameter_50 [label="function parameter uint256: d\ntests/contract_testcases/solana/yul/function_cal_cond.sol:16:34-35"]
  52. yul_function_return_51 [label="return parameter uint256: e\ntests/contract_testcases/solana/yul/function_cal_cond.sol:16:40-41"]
  53. yul_assignment_52 [label="yul assignment\ntests/contract_testcases/solana/yul/function_cal_cond.sol:17:25-39"]
  54. yul_variable_53 [label="yul variable: e\nuint256\ntests/contract_testcases/solana/yul/function_cal_cond.sol:17:25-26"]
  55. yul_builtin_call_54 [label="yul builtin call 'shr'\ntests/contract_testcases/solana/yul/function_cal_cond.sol:17:30-39"]
  56. yul_variable_55 [label="yul variable: d\nuint256\ntests/contract_testcases/solana/yul/function_cal_cond.sol:17:34-35"]
  57. yul_number_literal_56 [label="uint256 literal: 3\ntests/contract_testcases/solana/yul/function_cal_cond.sol:17:37-38"]
  58. assembly_block_57 [label="assembly block\ntests/contract_testcases/solana/yul/function_cal_cond.sol:4:13-32:14"]
  59. assembly_block_58 [label="assembly block\ntests/contract_testcases/solana/yul/function_cal_cond.sol:15:17-21:18"]
  60. yul_var_decl [label="yul variable declaration\ntests/contract_testcases/solana/yul/function_cal_cond.sol:20:21-56"]
  61. var_decl_item [label="yul variable declaration uint256 x\ntests/contract_testcases/solana/yul/function_cal_cond.sol:20:25-26"]
  62. yul_builtin_call_61 [label="yul builtin call 'sub'\ntests/contract_testcases/solana/yul/function_cal_cond.sol:20:30-56"]
  63. yul_function_call_62 [label="yul function call 'tryThis'\ntests/contract_testcases/solana/yul/function_cal_cond.sol:20:34-41"]
  64. yul_function_call_63 [label="yul function call 'foo'\ntests/contract_testcases/solana/yul/function_cal_cond.sol:20:42-45"]
  65. yul_number_literal_64 [label="uint256 literal: 3\ntests/contract_testcases/solana/yul/function_cal_cond.sol:20:46-47"]
  66. yul_number_literal_65 [label="uint256 literal: 2\ntests/contract_testcases/solana/yul/function_cal_cond.sol:20:50-51"]
  67. yul_number_literal_66 [label="uint256 literal: 4\ntests/contract_testcases/solana/yul/function_cal_cond.sol:20:54-55"]
  68. yul_var_decl_67 [label="yul variable declaration\ntests/contract_testcases/solana/yul/function_cal_cond.sol:31:17-27"]
  69. var_decl_item_68 [label="yul variable declaration uint256 x\ntests/contract_testcases/solana/yul/function_cal_cond.sol:31:21-22"]
  70. yul_number_literal_69 [label="uint256 literal: 5\ntests/contract_testcases/solana/yul/function_cal_cond.sol:31:26-27"]
  71. diagnostic [label="found contract 'testTypes'\nlevel Debug\ntests/contract_testcases/solana/yul/function_cal_cond.sol:1:1-35:2"]
  72. diagnostic_72 [label="yul variable 'x' has never been read\nlevel Warning\ntests/contract_testcases/solana/yul/function_cal_cond.sol:20:25-26"]
  73. diagnostic_73 [label="yul variable 'x' has never been read\nlevel Warning\ntests/contract_testcases/solana/yul/function_cal_cond.sol:31:21-22"]
  74. contracts -> contract
  75. contract -> testAsm [label="function"]
  76. testAsm -> inline_assembly [label="body"]
  77. inline_assembly -> yul_function_definition [label="func def #3"]
  78. yul_function_definition -> yul_function_parameter [label="parameter #0"]
  79. yul_function_parameter -> yul_function_parameter_6 [label="parameter #1"]
  80. yul_function_definition -> yul_function_return [label="return #0"]
  81. yul_function_definition -> yul_assignment [label="statement #0"]
  82. yul_assignment -> yul_variable [label="rhs #0"]
  83. yul_assignment -> yul_builtin_call [label="lhs"]
  84. yul_builtin_call -> yul_variable_11 [label="arg #0"]
  85. yul_builtin_call -> yul_number_literal [label="arg #1"]
  86. yul_assignment -> if [label="statement #1"]
  87. if -> yul_builtin_call_14 [label="cond"]
  88. yul_builtin_call_14 -> yul_variable_15 [label="arg #0"]
  89. yul_builtin_call_14 -> yul_number_literal_16 [label="arg #1"]
  90. if -> assembly_block [label="if-block"]
  91. assembly_block -> leave [label="statement #0"]
  92. if -> yul_assignment_19 [label="statement #2"]
  93. yul_assignment_19 -> yul_variable_20 [label="rhs #0"]
  94. yul_assignment_19 -> yul_builtin_call_21 [label="lhs"]
  95. yul_builtin_call_21 -> yul_variable_22 [label="arg #0"]
  96. yul_builtin_call_21 -> yul_number_literal_23 [label="arg #1"]
  97. yul_assignment_19 -> yul_assignment_24 [label="statement #3"]
  98. yul_assignment_24 -> yul_variable_25 [label="rhs #0"]
  99. yul_assignment_24 -> yul_function_call [label="lhs"]
  100. yul_function_call -> yul_variable_27 [label="arg #0"]
  101. yul_function_call -> yul_number_literal_28 [label="arg #1"]
  102. yul_assignment_24 -> yul_builtin_call_29 [label="statement #4"]
  103. inline_assembly -> yul_function_definition_30 [label="func def #2"]
  104. yul_function_definition_30 -> yul_function_parameter_31 [label="parameter #0"]
  105. yul_function_parameter_31 -> yul_function_parameter_32 [label="parameter #1"]
  106. yul_function_definition_30 -> yul_function_return_33 [label="return #0"]
  107. yul_function_definition_30 -> yul_assignment_34 [label="statement #0"]
  108. yul_assignment_34 -> yul_variable_35 [label="rhs #0"]
  109. yul_assignment_34 -> yul_builtin_call_36 [label="lhs"]
  110. yul_builtin_call_36 -> yul_variable_37 [label="arg #0"]
  111. yul_builtin_call_36 -> yul_number_literal_38 [label="arg #1"]
  112. yul_assignment_34 -> if_39 [label="statement #1"]
  113. if_39 -> yul_builtin_call_40 [label="cond"]
  114. yul_builtin_call_40 -> yul_variable_41 [label="arg #0"]
  115. yul_builtin_call_40 -> yul_number_literal_42 [label="arg #1"]
  116. if_39 -> assembly_block_43 [label="if-block"]
  117. assembly_block_43 -> leave_44 [label="statement #0"]
  118. if_39 -> yul_assignment_45 [label="statement #2"]
  119. yul_assignment_45 -> yul_variable_46 [label="rhs #0"]
  120. yul_assignment_45 -> yul_number_literal_47 [label="lhs"]
  121. yul_assignment_45 -> yul_builtin_call_48 [label="statement #3"]
  122. inline_assembly -> yul_function_definition_49 [label="func def #1"]
  123. yul_function_definition_49 -> yul_function_parameter_50 [label="parameter #0"]
  124. yul_function_definition_49 -> yul_function_return_51 [label="return #0"]
  125. yul_function_definition_49 -> yul_assignment_52 [label="statement #0"]
  126. yul_assignment_52 -> yul_variable_53 [label="rhs #0"]
  127. yul_assignment_52 -> yul_builtin_call_54 [label="lhs"]
  128. yul_builtin_call_54 -> yul_variable_55 [label="arg #0"]
  129. yul_builtin_call_54 -> yul_number_literal_56 [label="arg #1"]
  130. inline_assembly -> assembly_block_57 [label="statement #0"]
  131. assembly_block_57 -> assembly_block_58 [label="statement #0"]
  132. assembly_block_58 -> yul_var_decl [label="statement #0"]
  133. yul_var_decl -> var_decl_item [label="decl item #0"]
  134. yul_var_decl -> yul_builtin_call_61 [label="init"]
  135. yul_builtin_call_61 -> yul_function_call_62 [label="arg #0"]
  136. yul_function_call_62 -> yul_function_call_63 [label="arg #0"]
  137. yul_function_call_63 -> yul_number_literal_64 [label="arg #0"]
  138. yul_function_call_62 -> yul_number_literal_65 [label="arg #1"]
  139. yul_builtin_call_61 -> yul_number_literal_66 [label="arg #1"]
  140. assembly_block_58 -> yul_var_decl_67 [label="statement #1"]
  141. yul_var_decl_67 -> var_decl_item_68 [label="decl item #0"]
  142. yul_var_decl_67 -> yul_number_literal_69 [label="init"]
  143. diagnostics -> diagnostic [label="Debug"]
  144. diagnostics -> diagnostic_72 [label="Warning"]
  145. diagnostics -> diagnostic_73 [label="Warning"]
  146. }