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) }
 | 
						|
// }
 |