solidity/test/libsolidity/syntaxTests/controlFlow/localStorageVariables/assembly/switch_declaration_fine.sol

24 lines
478 B
Solidity
Raw Normal View History

contract C {
struct S { bool f; }
S s;
2020-05-27 14:30:48 +00:00
function f(bool flag) internal pure {
S storage c;
assembly {
switch flag
case 0 { c.slot := s.slot }
default { c.slot := s.slot }
}
c;
}
2020-05-27 14:30:48 +00:00
function g(uint256 a) internal pure {
S storage c;
assembly {
switch a
case 0 { revert(0, 0) }
default { c.slot := s.slot }
}
c;
}
}
// ----