pragma solidity^0.4.21; contract ModifierTests { event PrintParam(uint8 param); uint8 public param; function ModifierTests() public { param = 0; } function functionA() public modifierA returns (address) { param = 0; return msg.sender; } function functionB() public modifierB { emit PrintParam(param); param++; emit PrintParam(param); } modifier modifierA() { _; require(msg.sender == address(0x0)); } modifier modifierB() { _; require(param <= 1); _; require(param <= 1); } }
0.4.21