solidity/test/libsolidity/semanticTests/inlineAssembly/inline_assembly_in_modifiers.sol
2021-04-23 17:00:01 +01:00

37 lines
585 B
Solidity

contract C {
modifier m {
uint256 a = 1;
assembly {
a := 2
}
if (a != 2) revert();
_;
}
function f() public m returns (bool) {
return true;
}
modifier n {
uint256 a = 1;
assembly {
a := 2
}
if (a != 2)
_;
revert();
}
function g() public n returns (bool) {
// This statement should never execute.
return true;
}
}
// ====
// compileViaYul: also
// compileToEwasm: also
// ----
// f() -> true
// g() -> FAILURE