solidity/test/libsolidity/semanticTests/modifiers/function_modifier_calling_functions_in_creation_context.sol

50 lines
679 B
Solidity
Raw Normal View History

contract A {
uint256 data;
constructor() public mod1 {
f1();
}
function f1() public mod2 {
data |= 0x1;
}
function f2() public {
data |= 0x20;
}
function f3() public virtual {}
modifier mod1 virtual {
f2();
_;
}
modifier mod2 {
f3();
if (false) _;
}
function getData() public returns (uint256 r) {
return data;
}
}
contract C is A {
modifier mod1 override {
f4();
_;
}
function f3() public override {
data |= 0x300;
}
function f4() public {
data |= 0x4000;
}
}
// ----
// getData() -> 0x4300