mirror of
				https://github.com/ethereum/solidity
				synced 2023-10-03 13:03:40 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			41 lines
		
	
	
		
			743 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			743 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
{
 | 
						|
    if calldataload(0)
 | 
						|
    {
 | 
						|
        f()
 | 
						|
    }
 | 
						|
    g()
 | 
						|
 | 
						|
    function f() {
 | 
						|
        pop(mload(0))
 | 
						|
    }
 | 
						|
    function g() {
 | 
						|
        if sload(0)
 | 
						|
        {
 | 
						|
            h()
 | 
						|
        }
 | 
						|
    }
 | 
						|
    function h() {
 | 
						|
        switch t()
 | 
						|
        case 1 {
 | 
						|
            i()
 | 
						|
        }
 | 
						|
    }
 | 
						|
    function t() -> x {
 | 
						|
        mstore(0, 1)
 | 
						|
    }
 | 
						|
    function i() {
 | 
						|
        sstore(0, 1)
 | 
						|
    }
 | 
						|
    function r(a) -> b {
 | 
						|
        b := mul(a, 2)
 | 
						|
    }
 | 
						|
}
 | 
						|
// ----
 | 
						|
// : writes storage, writes memory
 | 
						|
// f: movable apart from effects, can be removed if no msize, reads memory
 | 
						|
// g: writes storage, writes memory
 | 
						|
// h: writes storage, writes memory
 | 
						|
// i: writes storage
 | 
						|
// r: movable, movable apart from effects, can be removed, can be removed if no msize
 | 
						|
// t: writes memory
 |