mirror of
				https://github.com/ethereum/solidity
				synced 2023-10-03 13:03:40 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			57 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| // Test case to see if the step applies for nested functions. The function `j` has an unused argument.
 | |
| {
 | |
|     sstore(f(1), 0)
 | |
|     sstore(h(1), 0)
 | |
| 
 | |
|     function f(a) -> x
 | |
|     {
 | |
|         x := g(1)
 | |
|         x := add(x, 1)
 | |
|         function g(b) -> y
 | |
|         {
 | |
|             b := add(b, 1)
 | |
|             y := mload(b)
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     function h(c) -> u
 | |
|     {
 | |
|         u := j(c)
 | |
|         // d is unused
 | |
|         function j(d) -> w
 | |
|         {
 | |
|             w := 13
 | |
|             w := add(w, 1)
 | |
|         }
 | |
|     }
 | |
| 
 | |
| }
 | |
| // ----
 | |
| // step: unusedFunctionParameterPruner
 | |
| //
 | |
| // {
 | |
| //     sstore(f_1(1), 0)
 | |
| //     sstore(h(1), 0)
 | |
| //     function g(b) -> y
 | |
| //     {
 | |
| //         b := add(b, 1)
 | |
| //         y := mload(b)
 | |
| //     }
 | |
| //     function f() -> x
 | |
| //     {
 | |
| //         x := g(1)
 | |
| //         x := add(x, 1)
 | |
| //     }
 | |
| //     function f_1(a_3) -> x_4
 | |
| //     { x_4 := f() }
 | |
| //     function j() -> w
 | |
| //     {
 | |
| //         w := 13
 | |
| //         w := add(13, 1)
 | |
| //     }
 | |
| //     function j_2(d_5) -> w_6
 | |
| //     { w_6 := j() }
 | |
| //     function h(c) -> u
 | |
| //     { u := j_2(c) }
 | |
| // }
 |