comparison core/src/luan/LuanMeta.java @ 432:d9df6d6cb927

finish fixing LuanTable to use metatables
author Franklin Schmidt <fschmidt@gmail.com>
date Sat, 02 May 2015 23:41:59 -0600
parents f28320fd671d
children
comparison
equal deleted inserted replaced
431:3ffe8ba5b297 432:d9df6d6cb927
12 12
13 protected abstract Iterator keys(LuanTable tbl); 13 protected abstract Iterator keys(LuanTable tbl);
14 14
15 public LuanFunction __pairs(final LuanState luan,final LuanTable tbl) { 15 public LuanFunction __pairs(final LuanState luan,final LuanTable tbl) {
16 return new LuanFunction() { 16 return new LuanFunction() {
17 final Iterator<Map.Entry<Object,Object>> iter1 = tbl.iterator(); 17 final Iterator<Map.Entry<Object,Object>> iter1 = tbl.rawIterator();
18 final Iterator<Object> iter2 = keys(tbl); 18 final Iterator<Object> iter2 = keys(tbl);
19 final Set<Object> set = new HashSet<Object>(); 19 final Set<Object> set = new HashSet<Object>();
20 20
21 @Override public Object[] call(LuanState luan,Object[] args) throws LuanException { 21 @Override public Object[] call(LuanState luan,Object[] args) throws LuanException {
22 if( iter1.hasNext() ) { 22 if( iter1.hasNext() ) {