mirror of
				https://github.com/ethereum/solidity
				synced 2023-10-03 13:03:40 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			36 lines
		
	
	
		
			433 B
		
	
	
	
		
			Solidity
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			433 B
		
	
	
	
		
			Solidity
		
	
	
	
	
	
| pragma experimental solidity;
 | |
| 
 | |
| 
 | |
| class a:StackType {
 | |
| 	function stackSize() -> x:integer;
 | |
| }
 | |
| 
 | |
| instantiation word : StackType {
 | |
| 	function stackSize() -> x:integer {
 | |
| 		return x;
 | |
| 	}
 | |
| }
 | |
| 
 | |
| function f(a) -> b {
 | |
|     return a;
 | |
| }
 | |
| 
 | |
| contract C {
 | |
| 	fallback() external {
 | |
| 		let x : word;
 | |
| 		let y : word;
 | |
| 		assembly {
 | |
| 			x := 0x42
 | |
| 		}
 | |
| 		y = f(x);
 | |
| 		assembly {
 | |
| 			mstore(0, y)
 | |
| 			return(0, 32)
 | |
| 		}
 | |
| 	}
 | |
| }
 | |
| // ====
 | |
| // compileViaYul: true
 | |
| // ----
 | |
| // () -> 21
 |