Mercurial Hosting > luan
diff core/src/luan/impl/ForStmt.java @ 576:4723d22062ce
remove LuanBit
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Mon, 13 Jul 2015 20:38:26 -0600 |
parents | 55f9f74f1e55 |
children | d7a85fbe15f1 |
line wrap: on
line diff
--- a/core/src/luan/impl/ForStmt.java Mon Jul 13 18:34:31 2015 -0600 +++ b/core/src/luan/impl/ForStmt.java Mon Jul 13 20:38:26 2015 -0600 @@ -4,7 +4,6 @@ import luan.LuanException; import luan.LuanFunction; import luan.LuanElement; -import luan.LuanBit; final class ForStmt extends CodeImpl implements Stmt { @@ -22,12 +21,12 @@ } @Override public void eval(LuanStateImpl luan) throws LuanException { - LuanBit bit = luan.bit(iterExpr.el()); - LuanFunction iter = bit.checkFunction( iterExpr.eval(luan) ); - String name = iterExpr.el().text(); + luan.push( iterExpr.el(), iterExpr.el().text() ); try { + LuanFunction iter = luan.checkFunction( iterExpr.eval(luan) ); + String name = iterExpr.el().text(); while(true) { - Object vals = bit.call(iter,name,LuanFunction.NOTHING); + Object vals = iter.call(luan); if( vals==null ) break; if( vals instanceof Object[] ) { @@ -48,6 +47,7 @@ } catch(BreakException e) { } finally { luan.stackClear(iVars,iVars+nVars); + luan.pop(); } }