# Add a final break in case of break block witout value
if variable.closure.is_break and v.return_value == null then
- v.stmt(new IEscape(v.return_seq.as(not null)))
+ v.add_escape(v.return_seq.as(not null))
end
end
v.seq = old_seq
if ne != null then
v.add_assignment(v.return_value.as(not null), v.generate_expr(ne))
end
- v.stmt(new IEscape(v.return_seq.as(not null)))
+ v.add_escape(v.return_seq.as(not null))
return null
end
end
if ne != null then
v.add_assignment(escapable.break_value.as(not null), v.generate_expr(ne))
end
- v.stmt(new IEscape(escapable.break_seq.as(not null)))
+ v.add_escape(escapable.break_seq.as(not null))
return null
end
end
if ne != null then
v.add_assignment(escapable.continue_value.as(not null), v.generate_expr(ne))
end
- v.stmt(new IEscape(escapable.continue_seq.as(not null)))
+ v.add_escape(escapable.continue_seq.as(not null))
return null
end
end
# Process escape (condition is false)
v.seq = iif.else_seq
- v.stmt(new IEscape(iloop))
+ v.add_escape(iloop)
v.seq = seq_old
return null
# Exit contition (condition is false)
v.seq = iif.else_seq
- v.stmt(new IEscape(iloop))
+ v.add_escape(iloop)
# Next step
var meth_next = v.visitor.get_method(iter_type, once ("next".to_symbol))
# Add a final break in case of break block witout value
if closure.is_break and escapable.break_value == null then
- v.stmt(new IEscape(escapable.break_seq.as(not null)))
+ v.add_escape(escapable.break_seq.as(not null))
end
v.seq = seq_old