account_meta.dot 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. strict digraph "tests/contract_testcases/solana/account_meta.sol" {
  2. contract [label="contract spl\ntests/contract_testcases/solana/account_meta.sol:3:1-18:2"]
  3. foo [label="function foo\ncontract: spl\ntests/contract_testcases/solana/account_meta.sol:4:2-47\nsignature foo()\nvisibility public\nmutability nonpayable"]
  4. returns [label="returns\nbool \naddress "]
  5. var_decl [label="variable decl struct AccountMeta meta\ntests/contract_testcases/solana/account_meta.sol:5:3-69"]
  6. struct_literal [label="struct literal: struct AccountMeta\ntests/contract_testcases/solana/account_meta.sol:5:26-69"]
  7. getref [label="getref address\ntests/contract_testcases/solana/account_meta.sol:5:26-69"]
  8. cast [label="cast address\ntests/contract_testcases/solana/account_meta.sol:5:42-55"]
  9. builtins [label="builtin GetAddress\ntests/contract_testcases/solana/account_meta.sol:5:50-54"]
  10. bool_literal [label="bool literal: true\ntests/contract_testcases/solana/account_meta.sol:5:57-61"]
  11. bool_literal_10 [label="bool literal: false\ntests/contract_testcases/solana/account_meta.sol:5:63-68"]
  12. return [label="return\ntests/contract_testcases/solana/account_meta.sol:6:3-41"]
  13. list [label="list\ntests/contract_testcases/solana/account_meta.sol:6:3-41"]
  14. load [label="load bool\ntests/contract_testcases/solana/account_meta.sol:6:3-41"]
  15. structmember [label="struct member #1 bool\ntests/contract_testcases/solana/account_meta.sol:6:16-27"]
  16. variable [label="variable: meta\nstruct AccountMeta\ntests/contract_testcases/solana/account_meta.sol:6:11-15"]
  17. load_16 [label="load address\ntests/contract_testcases/solana/account_meta.sol:6:3-41"]
  18. load_17 [label="load address\ntests/contract_testcases/solana/account_meta.sol:6:3-41"]
  19. structmember_18 [label="struct member #0 address\ntests/contract_testcases/solana/account_meta.sol:6:34-40"]
  20. variable_19 [label="variable: meta\nstruct AccountMeta\ntests/contract_testcases/solana/account_meta.sol:6:29-33"]
  21. bar [label="function bar\ncontract: spl\ntests/contract_testcases/solana/account_meta.sol:9:2-56\nsignature bar(bytes32)\nvisibility public\nmutability nonpayable"]
  22. parameters [label="parameters\naddress x"]
  23. returns_22 [label="returns\nbool \naddress "]
  24. var_decl_23 [label="variable decl struct AccountMeta[2] meta\ntests/contract_testcases/solana/account_meta.sol:10:3-13:4"]
  25. array_literal [label="array literal: struct AccountMeta[2]\ntests/contract_testcases/solana/account_meta.sol:10:29-13:4"]
  26. struct_literal_25 [label="struct literal: struct AccountMeta\ntests/contract_testcases/solana/account_meta.sol:11:4-34"]
  27. getref_26 [label="getref address\ntests/contract_testcases/solana/account_meta.sol:11:4-34"]
  28. variable_27 [label="variable: x\naddress\ntests/contract_testcases/solana/account_meta.sol:11:20-21"]
  29. bool_literal_28 [label="bool literal: true\ntests/contract_testcases/solana/account_meta.sol:11:23-27"]
  30. bool_literal_29 [label="bool literal: true\ntests/contract_testcases/solana/account_meta.sol:11:29-33"]
  31. struct_literal_30 [label="struct literal: struct AccountMeta\ntests/contract_testcases/solana/account_meta.sol:12:4-70"]
  32. getref_31 [label="getref address\ntests/contract_testcases/solana/account_meta.sol:12:4-70"]
  33. variable_32 [label="variable: x\naddress\ntests/contract_testcases/solana/account_meta.sol:12:29-30"]
  34. bool_literal_33 [label="bool literal: false\ntests/contract_testcases/solana/account_meta.sol:12:45-50"]
  35. bool_literal_34 [label="bool literal: false\ntests/contract_testcases/solana/account_meta.sol:12:63-68"]
  36. return_35 [label="return\ntests/contract_testcases/solana/account_meta.sol:15:3-47"]
  37. list_36 [label="list\ntests/contract_testcases/solana/account_meta.sol:15:3-47"]
  38. load_37 [label="load bool\ntests/contract_testcases/solana/account_meta.sol:15:3-47"]
  39. structmember_38 [label="struct member #1 bool\ntests/contract_testcases/solana/account_meta.sol:15:19-30"]
  40. subscript [label="subscript struct AccountMeta[2]\ntests/contract_testcases/solana/account_meta.sol:15:11-18"]
  41. variable_40 [label="variable: meta\nstruct AccountMeta[2]\ntests/contract_testcases/solana/account_meta.sol:15:11-15"]
  42. number_literal [label="uint32 literal: 1\ntests/contract_testcases/solana/account_meta.sol:15:16-17"]
  43. load_42 [label="load address\ntests/contract_testcases/solana/account_meta.sol:15:3-47"]
  44. load_43 [label="load address\ntests/contract_testcases/solana/account_meta.sol:15:3-47"]
  45. structmember_44 [label="struct member #0 address\ntests/contract_testcases/solana/account_meta.sol:15:40-46"]
  46. subscript_45 [label="subscript struct AccountMeta[2]\ntests/contract_testcases/solana/account_meta.sol:15:32-39"]
  47. variable_46 [label="variable: meta\nstruct AccountMeta[2]\ntests/contract_testcases/solana/account_meta.sol:15:32-36"]
  48. number_literal_47 [label="uint32 literal: 0\ntests/contract_testcases/solana/account_meta.sol:15:37-38"]
  49. diagnostic [label="found contract 'spl'\nlevel Debug\ntests/contract_testcases/solana/account_meta.sol:3:1-18:2"]
  50. diagnostic_50 [label="function can be declared 'pure'\nlevel Warning\ntests/contract_testcases/solana/account_meta.sol:4:2-47"]
  51. diagnostic_51 [label="function can be declared 'pure'\nlevel Warning\ntests/contract_testcases/solana/account_meta.sol:9:2-56"]
  52. contracts -> contract
  53. contract -> foo [label="function"]
  54. foo -> returns [label="returns"]
  55. foo -> var_decl [label="body"]
  56. var_decl -> struct_literal [label="init"]
  57. struct_literal -> getref [label="arg #0"]
  58. getref -> cast [label="expr"]
  59. cast -> builtins [label="expr"]
  60. struct_literal -> bool_literal [label="arg #1"]
  61. struct_literal -> bool_literal_10 [label="arg #2"]
  62. var_decl -> return [label="next"]
  63. return -> list [label="expr"]
  64. list -> load [label="entry #0"]
  65. load -> structmember [label="expr"]
  66. structmember -> variable [label="var"]
  67. list -> load_16 [label="entry #1"]
  68. load_16 -> load_17 [label="expr"]
  69. load_17 -> structmember_18 [label="expr"]
  70. structmember_18 -> variable_19 [label="var"]
  71. contract -> bar [label="function"]
  72. bar -> parameters [label="parameters"]
  73. bar -> returns_22 [label="returns"]
  74. bar -> var_decl_23 [label="body"]
  75. var_decl_23 -> array_literal [label="init"]
  76. array_literal -> struct_literal_25 [label="arg #0"]
  77. struct_literal_25 -> getref_26 [label="arg #0"]
  78. getref_26 -> variable_27 [label="expr"]
  79. struct_literal_25 -> bool_literal_28 [label="arg #1"]
  80. struct_literal_25 -> bool_literal_29 [label="arg #2"]
  81. array_literal -> struct_literal_30 [label="arg #1"]
  82. struct_literal_30 -> getref_31 [label="arg #0"]
  83. getref_31 -> variable_32 [label="expr"]
  84. struct_literal_30 -> bool_literal_33 [label="arg #1"]
  85. struct_literal_30 -> bool_literal_34 [label="arg #2"]
  86. var_decl_23 -> return_35 [label="next"]
  87. return_35 -> list_36 [label="expr"]
  88. list_36 -> load_37 [label="entry #0"]
  89. load_37 -> structmember_38 [label="expr"]
  90. structmember_38 -> subscript [label="var"]
  91. subscript -> variable_40 [label="array"]
  92. subscript -> number_literal [label="index"]
  93. list_36 -> load_42 [label="entry #1"]
  94. load_42 -> load_43 [label="expr"]
  95. load_43 -> structmember_44 [label="expr"]
  96. structmember_44 -> subscript_45 [label="var"]
  97. subscript_45 -> variable_46 [label="array"]
  98. subscript_45 -> number_literal_47 [label="index"]
  99. diagnostics -> diagnostic [label="Debug"]
  100. diagnostics -> diagnostic_50 [label="Warning"]
  101. diagnostics -> diagnostic_51 [label="Warning"]
  102. }