contract C {
function f() public view returns (uint) {
return address(this).balance;
}
}
generates
function fun_f_12() -> vloc__3 {
let zero_value_for_type_t_uint256_1 := zero_value_for_split_t_uint256()
vloc__3 := zero_value_for_type_t_uint256_1
let expr_7_address := address()
let expr_8 := convert_t_contract$_C_$13_to_t_address(expr_7_address)
let expr_9 := balance(expr_8)
vloc__3 := expr_9
leave
while --asm does
tag_5:
/* "balance.sol":49:53 uint */
0x00
/* "balance.sol":68:89 address(this).balance */
selfbalance
/* "balance.sol":61:89 return address(this).balance */
swap1
pop
/* "balance.sol":15:94 function f() public view returns (uint) {... */
swap1
jump // out
generates
while
--asmdoes