Mercurial Hosting > luan
diff core/src/luan/impl/ConcatExpr.java @ 576:4723d22062ce
remove LuanBit
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Mon, 13 Jul 2015 20:38:26 -0600 |
parents | f1601a4ce1aa |
children | 859c0dedc8b6 |
line wrap: on
line diff
--- a/core/src/luan/impl/ConcatExpr.java Mon Jul 13 18:34:31 2015 -0600 +++ b/core/src/luan/impl/ConcatExpr.java Mon Jul 13 20:38:26 2015 -0600 @@ -4,7 +4,6 @@ import luan.LuanFunction; import luan.LuanException; import luan.LuanElement; -import luan.LuanBit; final class ConcatExpr extends BinaryOpExpr { @@ -16,12 +15,16 @@ @Override public Object eval(LuanStateImpl luan) throws LuanException { Object o1 = op1.eval(luan); Object o2 = op2.eval(luan); - LuanBit bit = luan.bit(el); - LuanFunction fn = bit.getBinHandler("__concat",o1,o2); - if( fn != null ) - return Luan.first(bit.call(fn,"__concat",new Object[]{o1,o2})); - String s1 = luan.bit(op1.el()).toString(o1); - String s2 = luan.bit(op2.el()).toString(o2); + luan.push(el,null); + try { + LuanFunction fn = luan.getBinHandler("__concat",o1,o2); + if( fn != null ) + return Luan.first(fn.call(luan,new Object[]{o1,o2})); + } finally { + luan.pop(); + } + String s1 = luan.toString(o1,op1.el()); + String s2 = luan.toString(o2,op2.el()); return s1 + s2; } }