strict digraph "tests/contract_testcases/solana/doccomments_everywhere.sol" {
	MintProperty [label="name:MintProperty\ncontract: 0\ntests/contract_testcases/solana/doccomments_everywhere.sol:15:9-21\nfield name:id ty:uint256 indexed:no"]
	contract [label="contract Property\ntests/contract_testcases/solana/doccomments_everywhere.sol:5:1-99:2"]
	tags [label="author: Max Campbell (https://github.com/maxall41), RafaCypherpunk (https://github.com/RafaCypherpunk)"]
	var [label="variable pricePerShare_\nvisibility public\ntests/contract_testcases/solana/doccomments_everywhere.sol:9:3-52"]
	var_6 [label="variable valueLocked_\nvisibility public\ntests/contract_testcases/solana/doccomments_everywhere.sol:10:3-50"]
	var_7 [label="variable tokenDeployers_\nvisibility public\ntests/contract_testcases/solana/doccomments_everywhere.sol:11:3-53"]
	var_8 [label="variable sellingTokens_\nvisibility public\ntests/contract_testcases/solana/doccomments_everywhere.sol:12:3-52"]
	var_9 [label="variable buyingTokens_\nvisibility public\ntests/contract_testcases/solana/doccomments_everywhere.sol:13:3-51"]
	pricePerShare_ [label="function pricePerShare_\ncontract: Property\ntests/contract_testcases/solana/doccomments_everywhere.sol:9:38-52\nsignature pricePerShare_(uint256)\nvisibility public\nmutability view"]
	parameters [label="parameters\nuint256 "]
	returns [label="returns\nuint256 "]
	return [label="return\nimplicit"]
	storage_load [label="storage load uint256\nimplicit"]
	subscript [label="subscript mapping(uint256 => uint256) storage\nimplicit"]
	storage_var [label="storage variable\nProperty.pricePerShare_\nmapping(uint256 => uint256) storage\nimplicit"]
	variable [label="variable: \nuint256\nimplicit"]
	valueLocked_ [label="function valueLocked_\ncontract: Property\ntests/contract_testcases/solana/doccomments_everywhere.sol:10:38-50\nsignature valueLocked_(bytes32)\nvisibility public\nmutability view"]
	parameters_19 [label="parameters\naddress "]
	returns_20 [label="returns\nuint256 "]
	return_21 [label="return\nimplicit"]
	storage_load_22 [label="storage load uint256\nimplicit"]
	subscript_23 [label="subscript mapping(address => uint256) storage\nimplicit"]
	storage_var_24 [label="storage variable\nProperty.valueLocked_\nmapping(address => uint256) storage\nimplicit"]
	variable_25 [label="variable: \naddress\nimplicit"]
	tokenDeployers_ [label="function tokenDeployers_\ncontract: Property\ntests/contract_testcases/solana/doccomments_everywhere.sol:11:38-53\nsignature tokenDeployers_(uint256)\nvisibility public\nmutability view"]
	parameters_27 [label="parameters\nuint256 "]
	returns_28 [label="returns\naddress "]
	return_29 [label="return\nimplicit"]
	storage_load_30 [label="storage load address\nimplicit"]
	subscript_31 [label="subscript mapping(uint256 => address) storage\nimplicit"]
	storage_var_32 [label="storage variable\nProperty.tokenDeployers_\nmapping(uint256 => address) storage\nimplicit"]
	variable_33 [label="variable: \nuint256\nimplicit"]
	sellingTokens_ [label="function sellingTokens_\ncontract: Property\ntests/contract_testcases/solana/doccomments_everywhere.sol:12:38-52\nsignature sellingTokens_(uint256)\nvisibility public\nmutability view"]
	parameters_35 [label="parameters\nuint256 "]
	returns_36 [label="returns\nuint256 "]
	return_37 [label="return\nimplicit"]
	storage_load_38 [label="storage load uint256\nimplicit"]
	subscript_39 [label="subscript mapping(uint256 => uint256) storage\nimplicit"]
	storage_var_40 [label="storage variable\nProperty.sellingTokens_\nmapping(uint256 => uint256) storage\nimplicit"]
	variable_41 [label="variable: \nuint256\nimplicit"]
	buyingTokens_ [label="function buyingTokens_\ncontract: Property\ntests/contract_testcases/solana/doccomments_everywhere.sol:13:38-51\nsignature buyingTokens_(uint256)\nvisibility public\nmutability view"]
	parameters_43 [label="parameters\nuint256 "]
	returns_44 [label="returns\nuint256 "]
	return_45 [label="return\nimplicit"]
	storage_load_46 [label="storage load uint256\nimplicit"]
	subscript_47 [label="subscript mapping(uint256 => uint256) storage\nimplicit"]
	storage_var_48 [label="storage variable\nProperty.buyingTokens_\nmapping(uint256 => uint256) storage\nimplicit"]
	variable_49 [label="variable: \nuint256\nimplicit"]
	node_50 [label="constructor \ncontract: Property\ntests/contract_testcases/solana/doccomments_everywhere.sol:17:3-76\nsignature ()\nvisibility public\nmutability nonpayable"]
	node_51 [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:5-68"]
	subscript_54 [label="subscript mapping(address => uint256) storage\ntests/contract_testcases/solana/doccomments_everywhere.sol:20:5-29"]
	storage_var_55 [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:32-68"]
	storage_load_59 [label="storage load uint256\ntests/contract_testcases/solana/doccomments_everywhere.sol:20:32-56"]
	subscript_60 [label="subscript mapping(address => uint256) storage\ntests/contract_testcases/solana/doccomments_everywhere.sol:20:32-56"]
	storage_var_61 [label="storage variable\nProperty.valueLocked_\nmapping(address => uint256) storage\ntests/contract_testcases/solana/doccomments_everywhere.sol:20:32-44"]
	cast_62 [label="cast address\ntests/contract_testcases/solana/doccomments_everywhere.sol:20:45-55"]
	builtins_63 [label="builtin Sender\ntests/contract_testcases/solana/doccomments_everywhere.sol:20:45-55"]
	sign_ext [label="sign extend uint256\ntests/contract_testcases/solana/doccomments_everywhere.sol:20:59-68"]
	builtins_65 [label="builtin Value\ntests/contract_testcases/solana/doccomments_everywhere.sol:20:59-68"]
	mintProperty [label="function mintProperty\ncontract: Property\ntests/contract_testcases/solana/doccomments_everywhere.sol:23:3-27:11\nsignature mintProperty(uint256,uint256,uint256)\nvisibility public\nmutability nonpayable"]
	parameters_67 [label="parameters\nuint256 _shares\nuint256 _pricePerShare\nuint256 _sharesForSale"]
	getTokenOwner [label="function getTokenOwner\ncontract: Property\ntests/contract_testcases/solana/doccomments_everywhere.sol:37:3-76\nsignature getTokenOwner(uint256)\nvisibility public\nmutability view"]
	parameters_69 [label="parameters\nuint256 _id"]
	returns_70 [label="returns\naddress payable "]
	return_71 [label="return\ntests/contract_testcases/solana/doccomments_everywhere.sol:38:5-41"]
	cast_72 [label="cast address payable\ntests/contract_testcases/solana/doccomments_everywhere.sol:38:12-41"]
	storage_load_73 [label="storage load address\ntests/contract_testcases/solana/doccomments_everywhere.sol:38:12-41"]
	subscript_74 [label="subscript mapping(uint256 => address) storage\ntests/contract_testcases/solana/doccomments_everywhere.sol:38:20-40"]
	storage_var_75 [label="storage variable\nProperty.tokenDeployers_\nmapping(uint256 => address) storage\ntests/contract_testcases/solana/doccomments_everywhere.sol:38:20-35"]
	variable_76 [label="variable: _id\nuint256\ntests/contract_testcases/solana/doccomments_everywhere.sol:38:36-39"]
	getPricePerShare [label="function getPricePerShare\ncontract: Property\ntests/contract_testcases/solana/doccomments_everywhere.sol:41:3-71\nsignature getPricePerShare(uint256)\nvisibility public\nmutability view"]
	parameters_78 [label="parameters\nuint256 _id"]
	returns_79 [label="returns\nuint256 "]
	return_80 [label="return\ntests/contract_testcases/solana/doccomments_everywhere.sol:42:5-31"]
	storage_load_81 [label="storage load uint256\ntests/contract_testcases/solana/doccomments_everywhere.sol:42:5-31"]
	subscript_82 [label="subscript mapping(uint256 => uint256) storage\ntests/contract_testcases/solana/doccomments_everywhere.sol:42:12-31"]
	storage_var_83 [label="storage variable\nProperty.pricePerShare_\nmapping(uint256 => uint256) storage\ntests/contract_testcases/solana/doccomments_everywhere.sol:42:12-26"]
	variable_84 [label="variable: _id\nuint256\ntests/contract_testcases/solana/doccomments_everywhere.sol:42:27-30"]
	purchaseShares [label="function purchaseShares\ncontract: Property\ntests/contract_testcases/solana/doccomments_everywhere.sol:46:3-71\nsignature purchaseShares(uint256,uint256)\nvisibility public\nmutability payable"]
	tags_86 [label="dev: Used to purchase shares"]
	parameters_87 [label="parameters\nuint256 _shares\nuint256 _id"]
	setSellingShares [label="function setSellingShares\ncontract: Property\ntests/contract_testcases/solana/doccomments_everywhere.sol:67:3-74\nsignature setSellingShares(uint256,uint256)\nvisibility public\nmutability nonpayable"]
	parameters_89 [label="parameters\nuint256 _newSharesToSell\nuint256 _id"]
	expr_90 [label="expression\ntests/contract_testcases/solana/doccomments_everywhere.sol:68:5-73"]
	builtins_91 [label="builtin Require\ntests/contract_testcases/solana/doccomments_everywhere.sol:68:5-12"]
	equal [label="equal\ntests/contract_testcases/solana/doccomments_everywhere.sol:68:13-47"]
	cast_93 [label="cast address\ntests/contract_testcases/solana/doccomments_everywhere.sol:68:13-23"]
	builtins_94 [label="builtin Sender\ntests/contract_testcases/solana/doccomments_everywhere.sol:68:13-23"]
	storage_load_95 [label="storage load address\ntests/contract_testcases/solana/doccomments_everywhere.sol:68:27-47"]
	subscript_96 [label="subscript mapping(uint256 => address) storage\ntests/contract_testcases/solana/doccomments_everywhere.sol:68:27-47"]
	storage_var_97 [label="storage variable\nProperty.tokenDeployers_\nmapping(uint256 => address) storage\ntests/contract_testcases/solana/doccomments_everywhere.sol:68:27-42"]
	variable_98 [label="variable: _id\nuint256\ntests/contract_testcases/solana/doccomments_everywhere.sol:68:43-46"]
	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_101 [label="expression\ntests/contract_testcases/solana/doccomments_everywhere.sol:69:5-43"]
	assign_102 [label="assign\nuint256 storage\ntests/contract_testcases/solana/doccomments_everywhere.sol:69:5-43"]
	subscript_103 [label="subscript mapping(uint256 => uint256) storage\ntests/contract_testcases/solana/doccomments_everywhere.sol:69:5-24"]
	storage_var_104 [label="storage variable\nProperty.sellingTokens_\nmapping(uint256 => uint256) storage\ntests/contract_testcases/solana/doccomments_everywhere.sol:69:5-19"]
	variable_105 [label="variable: _id\nuint256\ntests/contract_testcases/solana/doccomments_everywhere.sol:69:20-23"]
	variable_106 [label="variable: _newSharesToSell\nuint256\ntests/contract_testcases/solana/doccomments_everywhere.sol:69:27-43"]
	setBuyingShares [label="function setBuyingShares\ncontract: Property\ntests/contract_testcases/solana/doccomments_everywhere.sol:72:3-73\nsignature setBuyingShares(uint256,uint256)\nvisibility public\nmutability nonpayable"]
	parameters_108 [label="parameters\nuint256 _newSharesToSell\nuint256 _id"]
	expr_109 [label="expression\ntests/contract_testcases/solana/doccomments_everywhere.sol:73:5-73"]
	builtins_110 [label="builtin Require\ntests/contract_testcases/solana/doccomments_everywhere.sol:73:5-12"]
	equal_111 [label="equal\ntests/contract_testcases/solana/doccomments_everywhere.sol:73:13-47"]
	cast_112 [label="cast address\ntests/contract_testcases/solana/doccomments_everywhere.sol:73:13-23"]
	builtins_113 [label="builtin Sender\ntests/contract_testcases/solana/doccomments_everywhere.sol:73:13-23"]
	storage_load_114 [label="storage load address\ntests/contract_testcases/solana/doccomments_everywhere.sol:73:27-47"]
	subscript_115 [label="subscript mapping(uint256 => address) storage\ntests/contract_testcases/solana/doccomments_everywhere.sol:73:27-47"]
	storage_var_116 [label="storage variable\nProperty.tokenDeployers_\nmapping(uint256 => address) storage\ntests/contract_testcases/solana/doccomments_everywhere.sol:73:27-42"]
	variable_117 [label="variable: _id\nuint256\ntests/contract_testcases/solana/doccomments_everywhere.sol:73:43-46"]
	alloc_array_118 [label="alloc array string\ninitializer: 596f7520617265206e6f7420746865206f776e6572\ntests/contract_testcases/solana/doccomments_everywhere.sol:73:49-72"]
	number_literal_119 [label="uint32 literal: 21\ntests/contract_testcases/solana/doccomments_everywhere.sol:73:49-72"]
	expr_120 [label="expression\ntests/contract_testcases/solana/doccomments_everywhere.sol:74:5-42"]
	assign_121 [label="assign\nuint256 storage\ntests/contract_testcases/solana/doccomments_everywhere.sol:74:5-42"]
	subscript_122 [label="subscript mapping(uint256 => uint256) storage\ntests/contract_testcases/solana/doccomments_everywhere.sol:74:5-23"]
	storage_var_123 [label="storage variable\nProperty.buyingTokens_\nmapping(uint256 => uint256) storage\ntests/contract_testcases/solana/doccomments_everywhere.sol:74:5-18"]
	variable_124 [label="variable: _id\nuint256\ntests/contract_testcases/solana/doccomments_everywhere.sol:74:19-22"]
	variable_125 [label="variable: _newSharesToSell\nuint256\ntests/contract_testcases/solana/doccomments_everywhere.sol:74:26-42"]
	sellShares [label="function sellShares\ncontract: Property\ntests/contract_testcases/solana/doccomments_everywhere.sol:77:3-59\nsignature sellShares(uint256,uint256)\nvisibility public\nmutability nonpayable"]
	parameters_127 [label="parameters\nuint256 shares_\nuint256 _id"]
	diagnostic [label="pragma 'solidity' is ignored\nlevel Debug\ntests/contract_testcases/solana/doccomments_everywhere.sol:1:1-24"]
	diagnostic_130 [label="found contract 'Property'\nlevel Debug\ntests/contract_testcases/solana/doccomments_everywhere.sol:5:1-99:2"]
	diagnostic_131 [label="'Counters' not found\nlevel Error\ntests/contract_testcases/solana/doccomments_everywhere.sol:6:22-30"]
	diagnostic_132 [label="'Counters' not found\nlevel Error\ntests/contract_testcases/solana/doccomments_everywhere.sol:7:3-11"]
	diagnostic_133 [label="'ERC1155' not found\nlevel Error\ntests/contract_testcases/solana/doccomments_everywhere.sol:17:17-24"]
	diagnostic_134 [label="target solana does not support receive() functions, see https://solang.readthedocs.io/en/latest/language/functions.html#fallback-and-receive-function\nlevel Error\ntests/contract_testcases/solana/doccomments_everywhere.sol:19:3-29"]
	diagnostic_135 [label="Solana Cross Program Invocation (CPI) cannot transfer native value. See https://solang.readthedocs.io/en/latest/language/functions.html#value_transfer\nlevel Error\ntests/contract_testcases/solana/doccomments_everywhere.sol:20:59-68"]
	diagnostic_136 [label="'_tokenIds' not found\nlevel Error\ntests/contract_testcases/solana/doccomments_everywhere.sol:28:29-38"]
	diagnostic_137 [label="cannot find overloaded function which matches signature\nlevel Error\ntests/contract_testcases/solana/doccomments_everywhere.sol:53:7-50"]
	diagnostic_138 [label="cannot find overloaded function which matches signature\nlevel Error\ntests/contract_testcases/solana/doccomments_everywhere.sol:86:7-38"]
	events -> MintProperty
	contracts -> contract
	contract -> tags [label="tags"]
	contract -> var [label="variable"]
	contract -> var_6 [label="variable"]
	contract -> var_7 [label="variable"]
	contract -> var_8 [label="variable"]
	contract -> var_9 [label="variable"]
	contract -> pricePerShare_ [label="function"]
	pricePerShare_ -> parameters [label="parameters"]
	pricePerShare_ -> returns [label="returns"]
	pricePerShare_ -> return [label="body"]
	return -> storage_load [label="expr"]
	storage_load -> subscript [label="expr"]
	subscript -> storage_var [label="array"]
	subscript -> variable [label="index"]
	contract -> valueLocked_ [label="function"]
	valueLocked_ -> parameters_19 [label="parameters"]
	valueLocked_ -> returns_20 [label="returns"]
	valueLocked_ -> return_21 [label="body"]
	return_21 -> storage_load_22 [label="expr"]
	storage_load_22 -> subscript_23 [label="expr"]
	subscript_23 -> storage_var_24 [label="array"]
	subscript_23 -> variable_25 [label="index"]
	contract -> tokenDeployers_ [label="function"]
	tokenDeployers_ -> parameters_27 [label="parameters"]
	tokenDeployers_ -> returns_28 [label="returns"]
	tokenDeployers_ -> return_29 [label="body"]
	return_29 -> storage_load_30 [label="expr"]
	storage_load_30 -> subscript_31 [label="expr"]
	subscript_31 -> storage_var_32 [label="array"]
	subscript_31 -> variable_33 [label="index"]
	contract -> sellingTokens_ [label="function"]
	sellingTokens_ -> parameters_35 [label="parameters"]
	sellingTokens_ -> returns_36 [label="returns"]
	sellingTokens_ -> return_37 [label="body"]
	return_37 -> storage_load_38 [label="expr"]
	storage_load_38 -> subscript_39 [label="expr"]
	subscript_39 -> storage_var_40 [label="array"]
	subscript_39 -> variable_41 [label="index"]
	contract -> buyingTokens_ [label="function"]
	buyingTokens_ -> parameters_43 [label="parameters"]
	buyingTokens_ -> returns_44 [label="returns"]
	buyingTokens_ -> return_45 [label="body"]
	return_45 -> storage_load_46 [label="expr"]
	storage_load_46 -> subscript_47 [label="expr"]
	subscript_47 -> storage_var_48 [label="array"]
	subscript_47 -> variable_49 [label="index"]
	contract -> node_50 [label="constructor"]
	contract -> node_51 [label="receive"]
	node_51 -> expr [label="body"]
	expr -> assign [label="expr"]
	assign -> subscript_54 [label="left"]
	subscript_54 -> storage_var_55 [label="array"]
	subscript_54 -> cast [label="index"]
	cast -> builtins [label="expr"]
	assign -> add [label="right"]
	add -> storage_load_59 [label="left"]
	storage_load_59 -> subscript_60 [label="expr"]
	subscript_60 -> storage_var_61 [label="array"]
	subscript_60 -> cast_62 [label="index"]
	cast_62 -> builtins_63 [label="expr"]
	add -> sign_ext [label="right"]
	sign_ext -> builtins_65 [label="expr"]
	contract -> mintProperty [label="function"]
	mintProperty -> parameters_67 [label="parameters"]
	contract -> getTokenOwner [label="function"]
	getTokenOwner -> parameters_69 [label="parameters"]
	getTokenOwner -> returns_70 [label="returns"]
	getTokenOwner -> return_71 [label="body"]
	return_71 -> cast_72 [label="expr"]
	cast_72 -> storage_load_73 [label="expr"]
	storage_load_73 -> subscript_74 [label="expr"]
	subscript_74 -> storage_var_75 [label="array"]
	subscript_74 -> variable_76 [label="index"]
	contract -> getPricePerShare [label="function"]
	getPricePerShare -> parameters_78 [label="parameters"]
	getPricePerShare -> returns_79 [label="returns"]
	getPricePerShare -> return_80 [label="body"]
	return_80 -> storage_load_81 [label="expr"]
	storage_load_81 -> subscript_82 [label="expr"]
	subscript_82 -> storage_var_83 [label="array"]
	subscript_82 -> variable_84 [label="index"]
	contract -> purchaseShares [label="function"]
	purchaseShares -> tags_86 [label="tags"]
	purchaseShares -> parameters_87 [label="parameters"]
	contract -> setSellingShares [label="function"]
	setSellingShares -> parameters_89 [label="parameters"]
	setSellingShares -> expr_90 [label="body"]
	expr_90 -> builtins_91 [label="expr"]
	builtins_91 -> equal [label="arg #0"]
	equal -> cast_93 [label="left"]
	cast_93 -> builtins_94 [label="expr"]
	equal -> storage_load_95 [label="right"]
	storage_load_95 -> subscript_96 [label="expr"]
	subscript_96 -> storage_var_97 [label="array"]
	subscript_96 -> variable_98 [label="index"]
	builtins_91 -> alloc_array [label="arg #1"]
	alloc_array -> number_literal [label="length"]
	expr_90 -> expr_101 [label="next"]
	expr_101 -> assign_102 [label="expr"]
	assign_102 -> subscript_103 [label="left"]
	subscript_103 -> storage_var_104 [label="array"]
	subscript_103 -> variable_105 [label="index"]
	assign_102 -> variable_106 [label="right"]
	contract -> setBuyingShares [label="function"]
	setBuyingShares -> parameters_108 [label="parameters"]
	setBuyingShares -> expr_109 [label="body"]
	expr_109 -> builtins_110 [label="expr"]
	builtins_110 -> equal_111 [label="arg #0"]
	equal_111 -> cast_112 [label="left"]
	cast_112 -> builtins_113 [label="expr"]
	equal_111 -> storage_load_114 [label="right"]
	storage_load_114 -> subscript_115 [label="expr"]
	subscript_115 -> storage_var_116 [label="array"]
	subscript_115 -> variable_117 [label="index"]
	builtins_110 -> alloc_array_118 [label="arg #1"]
	alloc_array_118 -> number_literal_119 [label="length"]
	expr_109 -> expr_120 [label="next"]
	expr_120 -> assign_121 [label="expr"]
	assign_121 -> subscript_122 [label="left"]
	subscript_122 -> storage_var_123 [label="array"]
	subscript_122 -> variable_124 [label="index"]
	assign_121 -> variable_125 [label="right"]
	contract -> sellShares [label="function"]
	sellShares -> parameters_127 [label="parameters"]
	diagnostics -> diagnostic [label="Debug"]
	diagnostics -> diagnostic_130 [label="Debug"]
	diagnostics -> diagnostic_131 [label="Error"]
	diagnostics -> diagnostic_132 [label="Error"]
	diagnostics -> diagnostic_133 [label="Error"]
	diagnostics -> diagnostic_134 [label="Error"]
	diagnostics -> diagnostic_135 [label="Error"]
	diagnostics -> diagnostic_136 [label="Error"]
	diagnostics -> diagnostic_137 [label="Error"]
	diagnostics -> diagnostic_138 [label="Error"]
}
