solidity/test/libyul/controlFlowSideEffects/recursion.yul

38 lines
590 B
Plaintext
Raw Normal View History

2021-10-04 16:09:08 +00:00
{
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:
2021-11-03 16:12:58 +00:00
// reg: can continue