mirror of
				https://github.com/ethereum/solidity
				synced 2023-10-03 13:03:40 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			31 lines
		
	
	
		
			986 B
		
	
	
	
		
			Solidity
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			986 B
		
	
	
	
		
			Solidity
		
	
	
	
	
	
| pragma abicoder               v2;
 | |
| 
 | |
| contract C {
 | |
| 	function f(uint a, uint16[][] memory b, uint[2][][3] memory c, uint d)
 | |
| 			public pure returns (uint, uint, uint, uint, uint, uint, uint) {
 | |
| 		return (a, b.length, b[1].length, b[1][1], c[1].length, c[1][1][1], d);
 | |
| 	}
 | |
| 	function test() public view returns (uint, uint, uint, uint, uint, uint, uint) {
 | |
| 		uint16[][] memory b = new uint16[][](3);
 | |
| 		b[0] = new uint16[](2);
 | |
| 		b[0][0] = 0x55;
 | |
| 		b[0][1] = 0x56;
 | |
| 		b[1] = new uint16[](4);
 | |
| 		b[1][0] = 0x65;
 | |
| 		b[1][1] = 0x66;
 | |
| 		b[1][2] = 0x67;
 | |
| 		b[1][3] = 0x68;
 | |
| 
 | |
| 		uint[2][][3] memory c;
 | |
| 		c[0] = new uint[2][](1);
 | |
| 		c[0][0][1] = 0x75;
 | |
| 		c[1] = new uint[2][](5);
 | |
| 		c[1][1][1] = 0x85;
 | |
| 
 | |
| 		return this.f(12, b, c, 13);
 | |
| 	}
 | |
| }
 | |
| // ----
 | |
| // test() -> 12, 3, 4, 0x66, 5, 0x85, 13
 | |
| // f(uint256,uint16[][],uint256[2][][3],uint256): 12, 0x80, 0x220, 13, 3, 0x60, 0xC0, 0x160, 2, 85, 86, 4, 101, 102, 103, 104, 0, 0x60, 0xC0, 0x220, 1, 0, 117, 5, 0, 0, 0, 133, 0, 0, 0, 0, 0, 0, 0 -> 12, 3, 4, 0x66, 5, 0x85, 13
 |