Mercurial Hosting > luan
comparison core/src/luan/AbstractLuanTable.java @ 364:1a464e090538 0.3
simplify table code
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Thu, 16 Apr 2015 11:51:21 -0600 |
parents | 1bce334a816b |
children | 5e0acdeaea93 |
comparison
equal
deleted
inserted
replaced
363:17b02b56d806 | 364:1a464e090538 |
---|---|
16 | 16 |
17 public abstract class AbstractLuanTable implements LuanTable, LuanRepr { | 17 public abstract class AbstractLuanTable implements LuanTable, LuanRepr { |
18 | 18 |
19 protected final Map<Object,Object> newMap() { | 19 protected final Map<Object,Object> newMap() { |
20 return new LinkedHashMap<Object,Object>(); | 20 return new LinkedHashMap<Object,Object>(); |
21 } | |
22 | |
23 protected final Map<Object,Object> newMap(Map<Object,Object> map) { | |
24 return new LinkedHashMap<Object,Object>(map); | |
25 } | 21 } |
26 | 22 |
27 @Override public boolean isEmpty() { | 23 @Override public boolean isEmpty() { |
28 return isList() && length()==0; | 24 return isList() && length()==0; |
29 } | 25 } |
89 @Override public void setMetatable(LuanTable metatable) { | 85 @Override public void setMetatable(LuanTable metatable) { |
90 throw new UnsupportedOperationException("can't set a metatable on a "+type()); | 86 throw new UnsupportedOperationException("can't set a metatable on a "+type()); |
91 } | 87 } |
92 | 88 |
93 @Override public LuanTable cloneTable() { | 89 @Override public LuanTable cloneTable() { |
94 return isList() ? new LuanTableImpl(new ArrayList<Object>(asList())) : new LuanTableImpl(newMap(asMap())); | 90 return isList() ? new LuanTableImpl(new ArrayList<Object>(asList())) : new LuanTableImpl(asMap()); |
95 } | 91 } |
96 | 92 |
97 @Override public boolean hasJava() { | 93 @Override public boolean hasJava() { |
98 throw new UnsupportedOperationException(); | 94 throw new UnsupportedOperationException(); |
99 } | 95 } |