strict digraph "tests/contract_testcases/evm/pragmas.sol" {
	E [label="name: E\ncontract: C\ntests/contract_testcases/evm/pragmas.sol:10:2-20\nvalue: a\nvalue: b\nvalue: c"]
	contract [label="contract C\ntests/contract_testcases/evm/pragmas.sol:9:1-12:2"]
	var [label="variable maxE\nvisibility internal\nconstant\nuint8\ntests/contract_testcases/evm/pragmas.sol:11:2-35"]
	builtins [label="builtin TypeMax\ntests/contract_testcases/evm/pragmas.sol:11:24-35"]
	type_operator [label="type(enum C.E)\ntests/contract_testcases/evm/pragmas.sol:11:24-31"]
	pragma [label="name: foo\nvalue: bar\ntests/contract_testcases/evm/pragmas.sol:1:1-15"]
	pragma_9 [label="name: abicoder\nvalue: v2\ntests/contract_testcases/evm/pragmas.sol:2:1-19"]
	pragma_10 [label="name: solidity\ntests/contract_testcases/evm/pragmas.sol:4:1-28"]
	range [label="version: 0 - 1\ntests/contract_testcases/evm/pragmas.sol:4:17-22"]
	range_12 [label="version: 0 - 2\ntests/contract_testcases/evm/pragmas.sol:4:23-28"]
	pragma_13 [label="name: abicoder\nvalue: 'v2'\ntests/contract_testcases/evm/pragmas.sol:5:1-21"]
	pragma_14 [label="name: solidity\ntests/contract_testcases/evm/pragmas.sol:6:1-57"]
	operator [label="version: ^0.5.16\ntests/contract_testcases/evm/pragmas.sol:6:17-24"]
	or [label="||\ntests/contract_testcases/evm/pragmas.sol:6:25-44"]
	operator_17 [label="version: =0.8.22\ntests/contract_testcases/evm/pragmas.sol:6:25-32"]
	operator_18 [label="version: >=0.8.21\ntests/contract_testcases/evm/pragmas.sol:6:36-44"]
	operator_19 [label="version: <=2\ntests/contract_testcases/evm/pragmas.sol:6:45-48"]
	operator_20 [label="version: ~1\ntests/contract_testcases/evm/pragmas.sol:6:49-51"]
	plain [label="version: 0.6.2\ntests/contract_testcases/evm/pragmas.sol:6:52-57"]
	pragma_22 [label="name: solidity\ntests/contract_testcases/evm/pragmas.sol:7:1-40"]
	or_23 [label="||\ntests/contract_testcases/evm/pragmas.sol:7:17-40"]
	range_24 [label="version: 0.4 - 1\ntests/contract_testcases/evm/pragmas.sol:7:17-24"]
	range_25 [label="version: 0.3 - 0.5.16\ntests/contract_testcases/evm/pragmas.sol:7:28-40"]
	diagnostic [label="unknown pragma 'foo' with value 'bar'\nlevel Error\ntests/contract_testcases/evm/pragmas.sol:1:1-15"]
	diagnostic_28 [label="pragma 'abicoder' ignored\nlevel Debug\ntests/contract_testcases/evm/pragmas.sol:2:1-19"]
	diagnostic_29 [label="'4294967296' is not a valid number\nlevel Error\ntests/contract_testcases/evm/pragmas.sol:3:17-28"]
	diagnostic_30 [label="version ranges can only be combined with the || operator\nlevel Error\ntests/contract_testcases/evm/pragmas.sol:4:1-28"]
	diagnostic_31 [label="pragma 'abicoder' ignored\nlevel Debug\ntests/contract_testcases/evm/pragmas.sol:5:1-21"]
	diagnostic_32 [label="found contract 'C'\nlevel Debug\ntests/contract_testcases/evm/pragmas.sol:9:1-12:2"]
	enums -> E
	contracts -> contract
	contract -> var [label="variable"]
	var -> builtins [label="initializer"]
	builtins -> type_operator [label="arg #0"]
	pragmas -> pragma
	pragmas -> pragma_9
	pragmas -> pragma_10
	pragma_10 -> range [label="version 0"]
	pragma_10 -> range_12 [label="version 1"]
	pragmas -> pragma_13
	pragmas -> pragma_14
	pragma_14 -> operator [label="version 0"]
	pragma_14 -> or [label="version 1"]
	or -> operator_17 [label="left"]
	or -> operator_18 [label="right"]
	pragma_14 -> operator_19 [label="version 2"]
	pragma_14 -> operator_20 [label="version 3"]
	pragma_14 -> plain [label="version 4"]
	pragmas -> pragma_22
	pragma_22 -> or_23 [label="version 0"]
	or_23 -> range_24 [label="left"]
	or_23 -> range_25 [label="right"]
	diagnostics -> diagnostic [label="Error"]
	diagnostics -> diagnostic_28 [label="Debug"]
	diagnostics -> diagnostic_29 [label="Error"]
	diagnostics -> diagnostic_30 [label="Error"]
	diagnostics -> diagnostic_31 [label="Debug"]
	diagnostics -> diagnostic_32 [label="Debug"]
}
