comparison core/src/luan/LuanTableImpl.java @ 224:05eb2837ddbf

change LuanTable.put() to not return old value git-svn-id: https://luan-java.googlecode.com/svn/trunk@225 21e917c8-12df-6dd8-5cb6-c86387c605b9
author fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
date Mon, 21 Jul 2014 09:27:06 +0000
parents b76fcb72d97d
children 392105b660d7
comparison
equal deleted inserted replaced
223:a9fe265dbac3 224:05eb2837ddbf
206 if( map==null ) 206 if( map==null )
207 return null; 207 return null;
208 return map.get(key); 208 return map.get(key);
209 } 209 }
210 210
211 @Override public Object put(Object key,Object val) { 211 @Override public void put(Object key,Object val) {
212 Integer iT = Luan.asInteger(key); 212 Integer iT = Luan.asInteger(key);
213 if( iT != null ) { 213 if( iT != null ) {
214 int i = iT - 1; 214 int i = iT - 1;
215 if( list != null || i == 0 ) { 215 if( list != null || i == 0 ) {
216 if( i == list().size() ) { 216 if( i == list().size() ) {
217 if( val != null ) { 217 if( val != null ) {
218 list.add(val); 218 list.add(val);
219 mapToList(); 219 mapToList();
220 } 220 }
221 return null; 221 return;
222 } else if( i>=0 && i<list.size() ) { 222 } else if( i>=0 && i<list.size() ) {
223 Object old = list.get(i);
224 list.set(i,val); 223 list.set(i,val);
225 if( val == null ) { 224 if( val == null ) {
226 listToMap(i); 225 listToMap(i);
227 } 226 }
228 return old; 227 return;
229 } 228 }
230 } 229 }
231 } 230 }
232 if( map==null ) { 231 if( map==null ) {
233 map = new HashMap<Object,Object>(); 232 map = new HashMap<Object,Object>();
235 if( key instanceof Number && !(key instanceof Double) ) { 234 if( key instanceof Number && !(key instanceof Double) ) {
236 Number n = (Number)key; 235 Number n = (Number)key;
237 key = Double.valueOf(n.doubleValue()); 236 key = Double.valueOf(n.doubleValue());
238 } 237 }
239 if( val == null ) { 238 if( val == null ) {
240 return map.remove(key); 239 map.remove(key);
241 } else { 240 } else {
242 return map.put(key,val); 241 map.put(key,val);
243 } 242 }
244 } 243 }
245 244
246 private void mapToList() { 245 private void mapToList() {
247 if( map != null ) { 246 if( map != null ) {