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() {