|
@@ -0,0 +1,158 @@
|
|
|
|
|
+strict digraph "tests/contract_testcases/ewasm/llvm_type.sol" {
|
|
|
|
|
+ OwnershipTransferred [label="name:OwnershipTransferred\ncontract: 1\ntests/contract_testcases/ewasm/llvm_type.sol:14:16-36\nfield name:previousOwner ty:address indexed:yes\nfield name:newOwner ty:address indexed:yes"]
|
|
|
|
|
+ contract [label="contract Context\ntests/contract_testcases/ewasm/llvm_type.sol:1:1-30"]
|
|
|
|
|
+ _msgSender [label="function _msgSender\ncontract: Context\ntests/contract_testcases/ewasm/llvm_type.sol:2:9-85\nsignature _msgSender()\nvisibility internal\nmutability view\nvirtual"]
|
|
|
|
|
+ returns [label="returns\naddress payable "]
|
|
|
|
|
+ return [label="return\ntests/contract_testcases/ewasm/llvm_type.sol:3:17-44"]
|
|
|
|
|
+ builtins [label="builtin Sender\ntests/contract_testcases/ewasm/llvm_type.sol:3:33-43"]
|
|
|
|
|
+ _msgData [label="function _msgData\ncontract: Context\ntests/contract_testcases/ewasm/llvm_type.sol:5:9-80\nsignature _msgData()\nvisibility internal\nmutability view\nvirtual"]
|
|
|
|
|
+ returns_9 [label="returns\nbytes "]
|
|
|
|
|
+ expr [label="expression\ntests/contract_testcases/ewasm/llvm_type.sol:6:17-21"]
|
|
|
|
|
+ builtins_11 [label="builtin GetAddress\ntests/contract_testcases/ewasm/llvm_type.sol:6:17-21"]
|
|
|
|
|
+ return_12 [label="return\ntests/contract_testcases/ewasm/llvm_type.sol:7:17-33"]
|
|
|
|
|
+ builtins_13 [label="builtin Calldata\ntests/contract_testcases/ewasm/llvm_type.sol:7:25-33"]
|
|
|
|
|
+ contract_14 [label="contract Ownable\ntests/contract_testcases/ewasm/llvm_type.sol:10:1-11:31"]
|
|
|
|
|
+ base [label="base Context\ntests/contract_testcases/ewasm/llvm_type.sol:11:24-31"]
|
|
|
|
|
+ var [label="variable _owner\nvisibility private\ntests/contract_testcases/ewasm/llvm_type.sol:12:9-33"]
|
|
|
|
|
+ node_17 [label="constructor \ncontract: Ownable\ntests/contract_testcases/ewasm/llvm_type.sol:15:9-26\nsignature ()\nvisibility public\nmutability nonpayable"]
|
|
|
|
|
+ var_decl [label="variable decl address msgSender\ntests/contract_testcases/ewasm/llvm_type.sol:16:17-52"]
|
|
|
|
|
+ cast [label="cast address\ntests/contract_testcases/ewasm/llvm_type.sol:16:40-52"]
|
|
|
|
|
+ call_internal_function [label="call internal function\ntests/contract_testcases/ewasm/llvm_type.sol:16:40-52"]
|
|
|
|
|
+ internal_function [label="function() internal view returns (address payable)\nsignature _msgSender()\nContext._msgSender\ntests/contract_testcases/ewasm/llvm_type.sol:16:40-52"]
|
|
|
|
|
+ expr_22 [label="expression\ntests/contract_testcases/ewasm/llvm_type.sol:17:17-37"]
|
|
|
|
|
+ assign [label="assign\naddress storage\ntests/contract_testcases/ewasm/llvm_type.sol:17:17-23"]
|
|
|
|
|
+ storage_var [label="storage variable\nOwnable._owner\naddress storage\ntests/contract_testcases/ewasm/llvm_type.sol:17:17-23"]
|
|
|
|
|
+ variable [label="variable: msgSender\naddress\ntests/contract_testcases/ewasm/llvm_type.sol:17:28-37"]
|
|
|
|
|
+ emit [label="emit\nevent Ownable.OwnershipTransferred\ntests/contract_testcases/ewasm/llvm_type.sol:18:17-67"]
|
|
|
|
|
+ number_literal [label="address literal: 0\ntests/contract_testcases/ewasm/llvm_type.sol:18:44-54"]
|
|
|
|
|
+ variable_28 [label="variable: msgSender\naddress\ntests/contract_testcases/ewasm/llvm_type.sol:18:57-66"]
|
|
|
|
|
+ owner [label="function owner\ncontract: Ownable\ntests/contract_testcases/ewasm/llvm_type.sol:20:9-60\nsignature owner()\nvisibility public\nmutability view"]
|
|
|
|
|
+ returns_30 [label="returns\naddress "]
|
|
|
|
|
+ return_31 [label="return\ntests/contract_testcases/ewasm/llvm_type.sol:21:17-31"]
|
|
|
|
|
+ storage_load [label="storage load address\ntests/contract_testcases/ewasm/llvm_type.sol:21:17-31"]
|
|
|
|
|
+ storage_var_33 [label="storage variable\nOwnable._owner\naddress storage\ntests/contract_testcases/ewasm/llvm_type.sol:21:25-31"]
|
|
|
|
|
+ onlyOwner [label="modifier onlyOwner\ncontract: Ownable\ntests/contract_testcases/ewasm/llvm_type.sol:24:9-32\nmutability nonpayable"]
|
|
|
|
|
+ expr_35 [label="expression\ntests/contract_testcases/ewasm/llvm_type.sol:25:17-92"]
|
|
|
|
|
+ builtins_36 [label="builtin Require\ntests/contract_testcases/ewasm/llvm_type.sol:25:17-24"]
|
|
|
|
|
+ equal [label="equal\ntests/contract_testcases/ewasm/llvm_type.sol:25:25-49"]
|
|
|
|
|
+ storage_load_38 [label="storage load address\ntests/contract_testcases/ewasm/llvm_type.sol:25:25-31"]
|
|
|
|
|
+ storage_var_39 [label="storage variable\nOwnable._owner\naddress storage\ntests/contract_testcases/ewasm/llvm_type.sol:25:25-31"]
|
|
|
|
|
+ cast_40 [label="cast address\ntests/contract_testcases/ewasm/llvm_type.sol:25:37-49"]
|
|
|
|
|
+ call_internal_function_41 [label="call internal function\ntests/contract_testcases/ewasm/llvm_type.sol:25:37-49"]
|
|
|
|
|
+ internal_function_42 [label="function() internal view returns (address payable)\nsignature _msgSender()\nContext._msgSender\ntests/contract_testcases/ewasm/llvm_type.sol:25:37-49"]
|
|
|
|
|
+ alloc_array [label="alloc array string\ninitializer: 4f776e61626c653a202063616c6c65722020697320206e6f74202074686520206f776e6572\ntests/contract_testcases/ewasm/llvm_type.sol:25:52-91"]
|
|
|
|
|
+ number_literal_44 [label="uint32 literal: 37\ntests/contract_testcases/ewasm/llvm_type.sol:25:52-91"]
|
|
|
|
|
+ underscore [label="undersore\ntests/contract_testcases/ewasm/llvm_type.sol:26:17-18"]
|
|
|
|
|
+ waiveOwnership [label="function waiveOwnership\ncontract: Ownable\ntests/contract_testcases/ewasm/llvm_type.sol:29:9-63\nsignature waiveOwnership()\nvisibility public\nmutability nonpayable\nvirtual"]
|
|
|
|
|
+ emit_47 [label="emit\nevent Ownable.OwnershipTransferred\ntests/contract_testcases/ewasm/llvm_type.sol:30:17-64"]
|
|
|
|
|
+ storage_load_48 [label="storage load address\ntests/contract_testcases/ewasm/llvm_type.sol:30:44-50"]
|
|
|
|
|
+ storage_var_49 [label="storage variable\nOwnable._owner\naddress storage\ntests/contract_testcases/ewasm/llvm_type.sol:30:44-50"]
|
|
|
|
|
+ number_literal_50 [label="address literal: 0\ntests/contract_testcases/ewasm/llvm_type.sol:30:53-63"]
|
|
|
|
|
+ expr_51 [label="expression\ntests/contract_testcases/ewasm/llvm_type.sol:31:17-38"]
|
|
|
|
|
+ assign_52 [label="assign\naddress storage\ntests/contract_testcases/ewasm/llvm_type.sol:31:17-23"]
|
|
|
|
|
+ storage_var_53 [label="storage variable\nOwnable._owner\naddress storage\ntests/contract_testcases/ewasm/llvm_type.sol:31:17-23"]
|
|
|
|
|
+ number_literal_54 [label="address literal: 0\ntests/contract_testcases/ewasm/llvm_type.sol:31:28-38"]
|
|
|
|
|
+ transferOwnership [label="function transferOwnership\ncontract: Ownable\ntests/contract_testcases/ewasm/llvm_type.sol:34:9-83\nsignature transferOwnership(address)\nvisibility public\nmutability nonpayable\nvirtual"]
|
|
|
|
|
+ parameters [label="parameters\naddress newOwner"]
|
|
|
|
|
+ expr_57 [label="expression\ntests/contract_testcases/ewasm/llvm_type.sol:35:17-99"]
|
|
|
|
|
+ builtins_58 [label="builtin Require\ntests/contract_testcases/ewasm/llvm_type.sol:35:17-24"]
|
|
|
|
|
+ not [label="not\ntests/contract_testcases/ewasm/llvm_type.sol:35:25-49"]
|
|
|
|
|
+ equal_60 [label="equal\ntests/contract_testcases/ewasm/llvm_type.sol:35:25-49"]
|
|
|
|
|
+ variable_61 [label="variable: newOwner\naddress\ntests/contract_testcases/ewasm/llvm_type.sol:35:25-33"]
|
|
|
|
|
+ number_literal_62 [label="address literal: 0\ntests/contract_testcases/ewasm/llvm_type.sol:35:39-49"]
|
|
|
|
|
+ alloc_array_63 [label="alloc array string\ninitializer: 4f776e61626c653a20206e657720206f776e657220206973202074686520207a65726f202061646472657373\ntests/contract_testcases/ewasm/llvm_type.sol:35:52-98"]
|
|
|
|
|
+ number_literal_64 [label="uint32 literal: 44\ntests/contract_testcases/ewasm/llvm_type.sol:35:52-98"]
|
|
|
|
|
+ emit_65 [label="emit\nevent Ownable.OwnershipTransferred\ntests/contract_testcases/ewasm/llvm_type.sol:36:17-62"]
|
|
|
|
|
+ storage_load_66 [label="storage load address\ntests/contract_testcases/ewasm/llvm_type.sol:36:44-50"]
|
|
|
|
|
+ storage_var_67 [label="storage variable\nOwnable._owner\naddress storage\ntests/contract_testcases/ewasm/llvm_type.sol:36:44-50"]
|
|
|
|
|
+ variable_68 [label="variable: newOwner\naddress\ntests/contract_testcases/ewasm/llvm_type.sol:36:53-61"]
|
|
|
|
|
+ expr_69 [label="expression\ntests/contract_testcases/ewasm/llvm_type.sol:37:17-36"]
|
|
|
|
|
+ assign_70 [label="assign\naddress storage\ntests/contract_testcases/ewasm/llvm_type.sol:37:17-23"]
|
|
|
|
|
+ storage_var_71 [label="storage variable\nOwnable._owner\naddress storage\ntests/contract_testcases/ewasm/llvm_type.sol:37:17-23"]
|
|
|
|
|
+ variable_72 [label="variable: newOwner\naddress\ntests/contract_testcases/ewasm/llvm_type.sol:37:28-36"]
|
|
|
|
|
+ getTime [label="function getTime\ncontract: Ownable\ntests/contract_testcases/ewasm/llvm_type.sol:40:9-62\nsignature getTime()\nvisibility public\nmutability view"]
|
|
|
|
|
+ returns_74 [label="returns\nuint256 "]
|
|
|
|
|
+ return_75 [label="return\ntests/contract_testcases/ewasm/llvm_type.sol:41:17-40"]
|
|
|
|
|
+ zero_ext [label="zero extend uint256\ntests/contract_testcases/ewasm/llvm_type.sol:41:17-40"]
|
|
|
|
|
+ builtins_77 [label="builtin Timestamp\ntests/contract_testcases/ewasm/llvm_type.sol:41:25-40"]
|
|
|
|
|
+ diagnostic [label="found abstract contract 'Context'\nlevel Debug\ntests/contract_testcases/ewasm/llvm_type.sol:1:1-30"]
|
|
|
|
|
+ diagnostic_80 [label="found contract 'Ownable'\nlevel Debug\ntests/contract_testcases/ewasm/llvm_type.sol:10:1-11:31"]
|
|
|
|
|
+ events -> OwnershipTransferred
|
|
|
|
|
+ contracts -> contract
|
|
|
|
|
+ contract -> _msgSender [label="function"]
|
|
|
|
|
+ _msgSender -> returns [label="returns"]
|
|
|
|
|
+ _msgSender -> return [label="body"]
|
|
|
|
|
+ return -> builtins [label="expr"]
|
|
|
|
|
+ contract -> _msgData [label="function"]
|
|
|
|
|
+ _msgData -> returns_9 [label="returns"]
|
|
|
|
|
+ _msgData -> expr [label="body"]
|
|
|
|
|
+ expr -> builtins_11 [label="expr"]
|
|
|
|
|
+ expr -> return_12 [label="next"]
|
|
|
|
|
+ return_12 -> builtins_13 [label="expr"]
|
|
|
|
|
+ contracts -> contract_14
|
|
|
|
|
+ contract_14 -> base [label="base"]
|
|
|
|
|
+ contract_14 -> var [label="variable"]
|
|
|
|
|
+ contract_14 -> node_17 [label="constructor"]
|
|
|
|
|
+ node_17 -> var_decl [label="body"]
|
|
|
|
|
+ var_decl -> cast [label="init"]
|
|
|
|
|
+ cast -> call_internal_function [label="expr"]
|
|
|
|
|
+ call_internal_function -> internal_function [label="function"]
|
|
|
|
|
+ var_decl -> expr_22 [label="next"]
|
|
|
|
|
+ expr_22 -> assign [label="expr"]
|
|
|
|
|
+ assign -> storage_var [label="left"]
|
|
|
|
|
+ assign -> variable [label="right"]
|
|
|
|
|
+ expr_22 -> emit [label="next"]
|
|
|
|
|
+ emit -> number_literal [label="arg #0"]
|
|
|
|
|
+ emit -> variable_28 [label="arg #1"]
|
|
|
|
|
+ contract_14 -> owner [label="function"]
|
|
|
|
|
+ owner -> returns_30 [label="returns"]
|
|
|
|
|
+ owner -> return_31 [label="body"]
|
|
|
|
|
+ return_31 -> storage_load [label="expr"]
|
|
|
|
|
+ storage_load -> storage_var_33 [label="expr"]
|
|
|
|
|
+ contract_14 -> onlyOwner [label="modifier"]
|
|
|
|
|
+ onlyOwner -> expr_35 [label="body"]
|
|
|
|
|
+ expr_35 -> builtins_36 [label="expr"]
|
|
|
|
|
+ builtins_36 -> equal [label="arg #0"]
|
|
|
|
|
+ equal -> storage_load_38 [label="left"]
|
|
|
|
|
+ storage_load_38 -> storage_var_39 [label="expr"]
|
|
|
|
|
+ equal -> cast_40 [label="right"]
|
|
|
|
|
+ cast_40 -> call_internal_function_41 [label="expr"]
|
|
|
|
|
+ call_internal_function_41 -> internal_function_42 [label="function"]
|
|
|
|
|
+ builtins_36 -> alloc_array [label="arg #1"]
|
|
|
|
|
+ alloc_array -> number_literal_44 [label="length"]
|
|
|
|
|
+ expr_35 -> underscore [label="next"]
|
|
|
|
|
+ contract_14 -> waiveOwnership [label="function"]
|
|
|
|
|
+ waiveOwnership -> emit_47 [label="body"]
|
|
|
|
|
+ emit_47 -> storage_load_48 [label="arg #0"]
|
|
|
|
|
+ storage_load_48 -> storage_var_49 [label="expr"]
|
|
|
|
|
+ emit_47 -> number_literal_50 [label="arg #1"]
|
|
|
|
|
+ emit_47 -> expr_51 [label="next"]
|
|
|
|
|
+ expr_51 -> assign_52 [label="expr"]
|
|
|
|
|
+ assign_52 -> storage_var_53 [label="left"]
|
|
|
|
|
+ assign_52 -> number_literal_54 [label="right"]
|
|
|
|
|
+ contract_14 -> transferOwnership [label="function"]
|
|
|
|
|
+ transferOwnership -> parameters [label="parameters"]
|
|
|
|
|
+ transferOwnership -> expr_57 [label="body"]
|
|
|
|
|
+ expr_57 -> builtins_58 [label="expr"]
|
|
|
|
|
+ builtins_58 -> not [label="arg #0"]
|
|
|
|
|
+ not -> equal_60 [label="expr"]
|
|
|
|
|
+ equal_60 -> variable_61 [label="left"]
|
|
|
|
|
+ equal_60 -> number_literal_62 [label="right"]
|
|
|
|
|
+ builtins_58 -> alloc_array_63 [label="arg #1"]
|
|
|
|
|
+ alloc_array_63 -> number_literal_64 [label="length"]
|
|
|
|
|
+ expr_57 -> emit_65 [label="next"]
|
|
|
|
|
+ emit_65 -> storage_load_66 [label="arg #0"]
|
|
|
|
|
+ storage_load_66 -> storage_var_67 [label="expr"]
|
|
|
|
|
+ emit_65 -> variable_68 [label="arg #1"]
|
|
|
|
|
+ emit_65 -> expr_69 [label="next"]
|
|
|
|
|
+ expr_69 -> assign_70 [label="expr"]
|
|
|
|
|
+ assign_70 -> storage_var_71 [label="left"]
|
|
|
|
|
+ assign_70 -> variable_72 [label="right"]
|
|
|
|
|
+ contract_14 -> getTime [label="function"]
|
|
|
|
|
+ getTime -> returns_74 [label="returns"]
|
|
|
|
|
+ getTime -> return_75 [label="body"]
|
|
|
|
|
+ return_75 -> zero_ext [label="expr"]
|
|
|
|
|
+ zero_ext -> builtins_77 [label="expr"]
|
|
|
|
|
+ diagnostics -> diagnostic [label="Debug"]
|
|
|
|
|
+ diagnostics -> diagnostic_80 [label="Debug"]
|
|
|
|
|
+}
|