mirror of
				https://github.com/ethereum/solidity
				synced 2023-10-03 13:03:40 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			149 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			149 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # NestedArrayFunctionCallDecoder
 | |
| 
 | |
| ## buggy
 | |
| 
 | |
| function f() pure returns (uint[2][2]) { }
 | |
| 
 | |
| --
 | |
| 
 | |
| function f() returns (uint[2][2] a) { }
 | |
| 
 | |
| --
 | |
| 
 | |
| function f() returns (uint x, uint[200][2] a) { }
 | |
| 
 | |
| --
 | |
| 
 | |
| function f() returns (uint[200][2] a, uint x) { }
 | |
| 
 | |
| --
 | |
| 
 | |
| function f() returns (uint[200][2] a, uint x);
 | |
| 
 | |
| --
 | |
| 
 | |
| function f() returns (
 | |
|     uint
 | |
|     [
 | |
|     200
 | |
|     ]
 | |
|     [2]
 | |
|     a, uint x);
 | |
| 
 | |
| --
 | |
| 
 | |
| function f() returns (
 | |
|     uint
 | |
|     [
 | |
|     ContractName.ConstantName
 | |
|     ]
 | |
|     [2]
 | |
|     a, uint x);
 | |
| 
 | |
| ## fine
 | |
| 
 | |
| function f() returns (uint[2]) { }
 | |
| 
 | |
| --
 | |
| 
 | |
| function f() public pure returns (uint[2][] a) { }
 | |
| 
 | |
| --
 | |
| 
 | |
| function f() public pure returns (uint[ 2 ] [ ]  a) { }
 | |
| 
 | |
| --
 | |
| 
 | |
| function f() public pure  returns (uint x, uint[] a) { }
 | |
| 
 | |
| --
 | |
| 
 | |
| function f(uint[2][2]) { }
 | |
| 
 | |
| --
 | |
| 
 | |
| function f() m(uint[2][2]) { }
 | |
| 
 | |
| --
 | |
| 
 | |
| function f() returns (uint, uint) { uint[2][2] memory x; }
 | |
| 
 | |
| # ExpExponentCleanup
 | |
| 
 | |
| ## buggy
 | |
| 
 | |
| x ** y
 | |
| 
 | |
| --
 | |
| 
 | |
| x ** uint8(y)
 | |
| 
 | |
| --
 | |
| 
 | |
| x**y
 | |
| 
 | |
| ## fine
 | |
| 
 | |
| x ** 2
 | |
| 
 | |
| --
 | |
| 
 | |
| x**2
 | |
| 
 | |
| --
 | |
| 
 | |
| x**200
 | |
| 
 | |
| --
 | |
| 
 | |
| /** bla **/
 | |
| 
 | |
| --
 | |
| 
 | |
| /**/
 | |
| 
 | |
| # EventStructWrongData
 | |
| 
 | |
| ## buggy
 | |
| 
 | |
| pragma experimental ABIEncoderV2;
 | |
| contract C
 | |
| {
 | |
| 	struct S { uint x; }
 | |
| 	event E(S);
 | |
| 	event F(S);
 | |
| 	enum A { B, C }
 | |
| 	event G(A);
 | |
| 	function f(S s);
 | |
| }
 | |
| 
 | |
| --
 | |
| 
 | |
| pragma experimental ABIEncoderV2;
 | |
| contract C
 | |
| {
 | |
| 	struct S { uint x; }
 | |
| 	event E(S indexed);
 | |
| 	event F(uint, S, bool);
 | |
| }
 | |
| 
 | |
| ## fine
 | |
| 
 | |
| pragma experimental ABIEncoderV2;
 | |
| contract C
 | |
| {
 | |
| 	struct S { uint x; }
 | |
| 	enum A { B, C }
 | |
| 	event G(A);
 | |
| }
 | |
| 
 | |
| --
 | |
| 
 | |
| pragma experimental ABIEncoderV2;
 | |
| contract C
 | |
| {
 | |
| 	struct S { uint x; }
 | |
| 	function f(S s);
 | |
| 	S s1;
 | |
| }
 |