Mercurial Hosting > luan
comparison src/luan/LuanTable.java @ 784:6a7c6879158d
revert shallowClone()
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Tue, 30 Aug 2016 12:08:49 -0600 |
parents | 655280eab1e2 |
children | d69d3c51c44e |
comparison
equal
deleted
inserted
replaced
783:4083f5a67c63 | 784:6a7c6879158d |
---|---|
18 private List list = null; | 18 private List list = null; |
19 private LuanTable metatable = null; | 19 private LuanTable metatable = null; |
20 public LuanJava java; | 20 public LuanJava java; |
21 private LuanCloner cloner; | 21 private LuanCloner cloner; |
22 | 22 |
23 private LuanTable(LuanCloner cloner) { | |
24 this.cloner = cloner; | |
25 } | |
26 | |
27 public LuanTable() {} | 23 public LuanTable() {} |
28 | 24 |
29 public LuanTable(List list) { | 25 public LuanTable(List list) { |
30 int n = list.size(); | 26 int n = list.size(); |
31 for( int i=0; i<n; i++ ) { | 27 for( int i=0; i<n; i++ ) { |
58 if( tbl.rawLength() > 0 ) | 54 if( tbl.rawLength() > 0 ) |
59 this.list = new ArrayList<Object>(tbl.list); | 55 this.list = new ArrayList<Object>(tbl.list); |
60 this.metatable = tbl.metatable; | 56 this.metatable = tbl.metatable; |
61 } | 57 } |
62 | 58 |
63 @Override public LuanTable shallowClone(LuanCloner cloner) { | 59 @Override public LuanTable shallowClone() { |
64 return new LuanTable(cloner.deep ? null : cloner); | 60 return new LuanTable(); |
65 } | 61 } |
66 | 62 |
67 @Override public void deepenClone(LuanCloneable dc,LuanCloner cloner) { | 63 @Override public void deepenClone(LuanCloneable dc,LuanCloner cloner) { |
68 LuanTable clone = (LuanTable)dc; | 64 LuanTable clone = (LuanTable)dc; |
69 if( map != null ) { | 65 if( map != null ) { |
405 } | 401 } |
406 }; | 402 }; |
407 } | 403 } |
408 | 404 |
409 public LuanTable rawSubList(int from,int to) { | 405 public LuanTable rawSubList(int from,int to) { |
410 LuanTable tbl = new LuanTable(cloner); | 406 LuanTable tbl = new LuanTable(); |
411 tbl.list = new ArrayList<Object>(list().subList(from-1,to-1)); | 407 tbl.list = new ArrayList<Object>(list().subList(from-1,to-1)); |
412 return tbl; | 408 return tbl; |
413 } | 409 } |
414 | 410 |
415 public LuanTable getMetatable() { | 411 public LuanTable getMetatable() { |