mirror of
				https://github.com/ethereum/solidity
				synced 2023-10-03 13:03:40 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			95 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Solidity
		
	
	
	
	
	
			
		
		
	
	
			95 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Solidity
		
	
	
	
	
	
| error E1();
 | |
| function f() {
 | |
|     revert E1();
 | |
| }
 | |
| contract C {
 | |
|     // unreferenced but inherited
 | |
|     error E2();
 | |
| }
 | |
| contract D {
 | |
|     // referenced
 | |
|     error E3(uint);
 | |
| }
 | |
| contract X is C {
 | |
|     // unreferenced but defined
 | |
|     error E3();
 | |
|     function g(uint x) public {
 | |
|         if (x == 0)
 | |
|             f();
 | |
|         else if (x == 2)
 | |
|             revert D.E3(1);
 | |
|     }
 | |
| }
 | |
| // ----
 | |
| //     :C
 | |
| // [
 | |
| //   {
 | |
| //     "inputs": [],
 | |
| //     "name": "E2",
 | |
| //     "type": "error"
 | |
| //   }
 | |
| // ]
 | |
| //
 | |
| //
 | |
| //     :D
 | |
| // [
 | |
| //   {
 | |
| //     "inputs":
 | |
| //     [
 | |
| //       {
 | |
| //         "internalType": "uint256",
 | |
| //         "name": "",
 | |
| //         "type": "uint256"
 | |
| //       }
 | |
| //     ],
 | |
| //     "name": "E3",
 | |
| //     "type": "error"
 | |
| //   }
 | |
| // ]
 | |
| //
 | |
| //
 | |
| //     :X
 | |
| // [
 | |
| //   {
 | |
| //     "inputs": [],
 | |
| //     "name": "E1",
 | |
| //     "type": "error"
 | |
| //   },
 | |
| //   {
 | |
| //     "inputs": [],
 | |
| //     "name": "E2",
 | |
| //     "type": "error"
 | |
| //   },
 | |
| //   {
 | |
| //     "inputs":
 | |
| //     [
 | |
| //       {
 | |
| //         "internalType": "uint256",
 | |
| //         "name": "",
 | |
| //         "type": "uint256"
 | |
| //       }
 | |
| //     ],
 | |
| //     "name": "E3",
 | |
| //     "type": "error"
 | |
| //   },
 | |
| //   {
 | |
| //     "inputs": [],
 | |
| //     "name": "E3",
 | |
| //     "type": "error"
 | |
| //   },
 | |
| //   {
 | |
| //     "inputs":
 | |
| //     [
 | |
| //       {
 | |
| //         "internalType": "uint256",
 | |
| //         "name": "x",
 | |
| //         "type": "uint256"
 | |
| //       }
 | |
| //     ],
 | |
| //     "name": "g",
 | |
| //     "outputs": [],
 | |
| //     "stateMutability": "nonpayable",
 | |
| //     "type": "function"
 | |
| //   }
 | |
| // ]
 |