solidity/test/libyul/controlFlowSideEffects/recursion.yul
2021-11-04 16:38:07 +01:00

38 lines
590 B
Plaintext

{
function a() {
if calldataload(0) {
revert(0, 0)
}
reg()
b()
}
function b() {
a()
return(0, 0)
}
function c() {
c()
revert(0, 0)
}
function d() {
switch calldataload(0)
case 0 { x() }
case 1 { y() reg() revert(0, 0) }
default { z() }
}
function x() { d() revert(0, 0) }
function y() { reg() x() }
function z() { y() }
function reg() {}
}
// ----
// a: can revert
// b: can revert
// c:
// d:
// x:
// y:
// z:
// reg: can continue