nitlanguage
/
nit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge: new option --define
[nit.git]
/
src
/
interpreter
/
naive_interpreter.nit
diff --git
a/src/interpreter/naive_interpreter.nit
b/src/interpreter/naive_interpreter.nit
index
01c872d
..
55c6567
100644
(file)
--- a/
src/interpreter/naive_interpreter.nit
+++ b/
src/interpreter/naive_interpreter.nit
@@
-1357,7
+1357,7
@@
redef class AForExpr
#self.debug("iter {iter}")
loop
var isok = v.callsite(method_is_ok, [iter]).as(not null)
#self.debug("iter {iter}")
loop
var isok = v.callsite(method_is_ok, [iter]).as(not null)
- if not isok.is_true then return
+ if not isok.is_true then break
if self.variables.length == 1 then
var item = v.callsite(method_item, [iter]).as(not null)
#self.debug("item {item}")
if self.variables.length == 1 then
var item = v.callsite(method_item, [iter]).as(not null)
#self.debug("item {item}")
@@
-1371,11
+1371,15
@@
redef class AForExpr
abort
end
v.stmt(self.n_block)
abort
end
v.stmt(self.n_block)
- if v.is_break(self.escapemark) then return
+ if v.is_break(self.escapemark) then break
v.is_continue(self.escapemark) # Clear the break
v.is_continue(self.escapemark) # Clear the break
- if v.is_escaping then return
+ if v.is_escaping then break
v.callsite(method_next, [iter])
end
v.callsite(method_next, [iter])
end
+ var method_finish = self.method_finish
+ if method_finish != null then
+ v.callsite(method_finish, [iter])
+ end
end
end
end
end