mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
21 lines
555 B
Solidity
21 lines
555 B
Solidity
contract C {
|
|
modifier tryCircumvent {
|
|
if (false) _; // avoid the function, we should still not accept ether
|
|
}
|
|
function f() tryCircumvent public returns (uint) {
|
|
return msgvalue();
|
|
}
|
|
function msgvalue() internal returns (uint) {
|
|
return msg.value;
|
|
}
|
|
// TODO: remove this helper function once isoltest supports balance checking
|
|
function balance() external returns (uint) {
|
|
return address(this).balance;
|
|
}
|
|
}
|
|
// ====
|
|
// compileViaYul: also
|
|
// ----
|
|
// f(), 27 wei -> FAILURE
|
|
// balance() -> 0
|