mirror of
				https://github.com/ethereum/solidity
				synced 2023-10-03 13:03:40 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			138 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			138 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| IR:
 | |
| /*=====================================================*
 | |
|  *                       WARNING                       *
 | |
|  *  Solidity to Yul compilation is still EXPERIMENTAL  *
 | |
|  *       It can result in LOSS OF FUNDS or worse       *
 | |
|  *                !USE AT YOUR OWN RISK!               *
 | |
|  *=====================================================*/
 | |
| 
 | |
| 
 | |
| /// @use-src 0:"viair_abicoder_v1/input.sol"
 | |
| object "test_11" {
 | |
|     code {
 | |
|         /// @src 0:79:169  "contract test {..."
 | |
|         mstore(64, 128)
 | |
|         if callvalue() { revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() }
 | |
| 
 | |
|         constructor_test_11()
 | |
| 
 | |
|         let _1 := allocate_unbounded()
 | |
|         codecopy(_1, dataoffset("test_11_deployed"), datasize("test_11_deployed"))
 | |
| 
 | |
|         return(_1, datasize("test_11_deployed"))
 | |
| 
 | |
|         function allocate_unbounded() -> memPtr {
 | |
|             memPtr := mload(64)
 | |
|         }
 | |
| 
 | |
|         function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() {
 | |
|             revert(0, 0)
 | |
|         }
 | |
| 
 | |
|         /// @src 0:79:169  "contract test {..."
 | |
|         function constructor_test_11() {
 | |
| 
 | |
|             /// @src 0:79:169  "contract test {..."
 | |
| 
 | |
|         }
 | |
|         /// @src 0:79:169  "contract test {..."
 | |
| 
 | |
|     }
 | |
|     /// @use-src 0:"viair_abicoder_v1/input.sol"
 | |
|     object "test_11_deployed" {
 | |
|         code {
 | |
|             /// @src 0:79:169  "contract test {..."
 | |
|             mstore(64, 128)
 | |
| 
 | |
|             if iszero(lt(calldatasize(), 4))
 | |
|             {
 | |
|                 let selector := shift_right_224_unsigned(calldataload(0))
 | |
|                 switch selector
 | |
| 
 | |
|                 case 0x26121ff0
 | |
|                 {
 | |
|                     // f()
 | |
| 
 | |
|                     if callvalue() { revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() }
 | |
|                     abi_decode_tuple_(4, calldatasize())
 | |
|                     let ret_0 :=  fun_f_10()
 | |
|                     let memPos := allocate_unbounded()
 | |
|                     let memEnd := abi_encode_tuple_t_bool__to_t_bool__fromStack(memPos , ret_0)
 | |
|                     return(memPos, sub(memEnd, memPos))
 | |
|                 }
 | |
| 
 | |
|                 default {}
 | |
|             }
 | |
|             if iszero(calldatasize()) {  }
 | |
|             revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74()
 | |
| 
 | |
|             function shift_right_224_unsigned(value) -> newValue {
 | |
|                 newValue :=
 | |
| 
 | |
|                 shr(224, value)
 | |
| 
 | |
|             }
 | |
| 
 | |
|             function allocate_unbounded() -> memPtr {
 | |
|                 memPtr := mload(64)
 | |
|             }
 | |
| 
 | |
|             function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() {
 | |
|                 revert(0, 0)
 | |
|             }
 | |
| 
 | |
|             function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {
 | |
|                 revert(0, 0)
 | |
|             }
 | |
| 
 | |
|             function abi_decode_tuple_(headStart, dataEnd)   {
 | |
|                 if slt(sub(dataEnd, headStart), 0) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }
 | |
| 
 | |
|             }
 | |
| 
 | |
|             function cleanup_t_bool(value) -> cleaned {
 | |
|                 cleaned := iszero(iszero(value))
 | |
|             }
 | |
| 
 | |
|             function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {
 | |
|                 mstore(pos, cleanup_t_bool(value))
 | |
|             }
 | |
| 
 | |
|             function abi_encode_tuple_t_bool__to_t_bool__fromStack(headStart , value0) -> tail {
 | |
|                 tail := add(headStart, 32)
 | |
| 
 | |
|                 abi_encode_t_bool_to_t_bool_fromStack(value0,  add(headStart, 0))
 | |
| 
 | |
|             }
 | |
| 
 | |
|             function revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74() {
 | |
|                 revert(0, 0)
 | |
|             }
 | |
| 
 | |
|             function zero_value_for_split_t_bool() -> ret {
 | |
|                 ret := 0
 | |
|             }
 | |
| 
 | |
|             /// @ast-id 10
 | |
|             /// @src 0:99:167  "function f() public pure returns (bool) {..."
 | |
|             function fun_f_10() -> var__5 {
 | |
|                 /// @src 0:133:137  "bool"
 | |
|                 let zero_t_bool_1 := zero_value_for_split_t_bool()
 | |
|                 var__5 := zero_t_bool_1
 | |
| 
 | |
|                 /// @src 0:156:160  "true"
 | |
|                 let expr_7 := 0x01
 | |
|                 /// @src 0:149:160  "return true"
 | |
|                 var__5 := expr_7
 | |
|                 leave
 | |
| 
 | |
|             }
 | |
|             /// @src 0:79:169  "contract test {..."
 | |
| 
 | |
|         }
 | |
| 
 | |
|         data ".metadata" hex"<BYTECODE REMOVED>"
 | |
|     }
 | |
| 
 | |
| }
 |