strict digraph "tests/contract_testcases/solana/expressions/contract_no_init.sol" {
	contract [label="contract other\ntests/contract_testcases/solana/expressions/contract_no_init.sol:2:9-4:10"]
	var [label="variable a\nvisibility public\ntests/contract_testcases/solana/expressions/contract_no_init.sol:3:13-25"]
	a [label="function a\ncontract: other\ntests/contract_testcases/solana/expressions/contract_no_init.sol:3:24-25\nsignature a()\nvisibility public\nmutability view"]
	returns [label="returns\nint256 "]
	return [label="return\nimplicit"]
	storage_load [label="storage load int256\nimplicit"]
	storage_var [label="storage variable\nother.a\nint256 storage\nimplicit"]
	contract_8 [label="contract testing\ntests/contract_testcases/solana/expressions/contract_no_init.sol:6:9-16:10"]
	test [label="function test\ncontract: testing\ntests/contract_testcases/solana/expressions/contract_no_init.sol:7:13-54\nsignature test(int256)\nvisibility public\nmutability nonpayable"]
	parameters [label="parameters\nint256 x"]
	returns_11 [label="returns\nint256 "]
	var_decl [label="variable decl contract other o\ntests/contract_testcases/solana/expressions/contract_no_init.sol:8:17-24"]
	dowhile [label="do while\ntests/contract_testcases/solana/expressions/contract_no_init.sol:9:17-12:30"]
	expr [label="expression\ntests/contract_testcases/solana/expressions/contract_no_init.sol:10:21-24"]
	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_17 [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:21-36"]
	variable_19 [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:24-29"]
	variable_22 [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_24 [label="return\ntests/contract_testcases/solana/expressions/contract_no_init.sol:14:17-29"]
	call_external_function [label="call external function\ntests/contract_testcases/solana/expressions/contract_no_init.sol:14:24-29"]
	external_function [label="function() external view returns (int256)\nother.a\ntests/contract_testcases/solana/expressions/contract_no_init.sol:14:24-29"]
	variable_27 [label="variable: o\ncontract other\ntests/contract_testcases/solana/expressions/contract_no_init.sol:14:24-25"]
	diagnostic [label="found contract 'other'\nlevel Debug\ntests/contract_testcases/solana/expressions/contract_no_init.sol:2:9-4:10"]
	diagnostic_30 [label="found contract 'testing'\nlevel Debug\ntests/contract_testcases/solana/expressions/contract_no_init.sol:6:9-16:10"]
	contracts -> contract
	contract -> var [label="variable"]
	contract -> a [label="function"]
	a -> returns [label="returns"]
	a -> return [label="body"]
	return -> storage_load [label="expr"]
	storage_load -> storage_var [label="expr"]
	contracts -> contract_8
	contract_8 -> test [label="function"]
	test -> parameters [label="parameters"]
	test -> returns_11 [label="returns"]
	test -> var_decl [label="body"]
	var_decl -> dowhile [label="next"]
	dowhile -> expr [label="body"]
	expr -> post_decrement [label="expr"]
	post_decrement -> variable [label="expr"]
	expr -> expr_17 [label="next"]
	expr_17 -> assign [label="expr"]
	assign -> variable_19 [label="left"]
	assign -> constructor [label="right"]
	dowhile -> more [label="cond"]
	more -> variable_22 [label="left"]
	more -> number_literal [label="right"]
	dowhile -> return_24 [label="next"]
	return_24 -> call_external_function [label="expr"]
	call_external_function -> external_function [label="function"]
	external_function -> variable_27 [label="address"]
	diagnostics -> diagnostic [label="Debug"]
	diagnostics -> diagnostic_30 [label="Debug"]
}
