comparison src/luan/LuanTable.java @ 81:9df729fa4419

minor git-svn-id: https://luan-java.googlecode.com/svn/trunk@82 21e917c8-12df-6dd8-5cb6-c86387c605b9
author fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
date Sat, 16 Feb 2013 06:58:00 +0000
parents 4bf3d0c0b6b9
children cca4f8522893
comparison
equal deleted inserted replaced
80:851e356101c1 81:9df729fa4419
11 import java.util.Set; 11 import java.util.Set;
12 import java.util.HashSet; 12 import java.util.HashSet;
13 import java.util.IdentityHashMap; 13 import java.util.IdentityHashMap;
14 14
15 15
16 public class LuanTable implements DeepCloneable<LuanTable> { 16 public final class LuanTable implements DeepCloneable<LuanTable> {
17 private Map<Object,Object> map = null; 17 private Map<Object,Object> map = null;
18 private List<Object> list = null; 18 private List<Object> list = null;
19 private LuanTable metatable = null; 19 private LuanTable metatable = null;
20 20
21 public LuanTable() {} 21 public LuanTable() {}
100 } 100 }
101 return rtn; 101 return rtn;
102 } 102 }
103 103
104 @Override public String toString() { 104 @Override public String toString() {
105 return "table: " + Integer.toHexString(hashCode());
106 }
107 /*
108 @Override public String toString() {
105 return toString( Collections.newSetFromMap(new IdentityHashMap<LuanTable,Boolean>()) ); 109 return toString( Collections.newSetFromMap(new IdentityHashMap<LuanTable,Boolean>()) );
106 } 110 }
107 111
108 private String toString(Set<LuanTable> set) { 112 private String toString(Set<LuanTable> set) {
109 // return "table: " + Integer.toHexString(hashCode());
110 if( !set.add(this) ) { 113 if( !set.add(this) ) {
111 return "..."; 114 return "...";
112 } 115 }
113 StringBuilder sb = new StringBuilder(); 116 StringBuilder sb = new StringBuilder();
114 sb.append('{'); 117 sb.append('{');
151 return t.toString(set); 154 return t.toString(set);
152 } else { 155 } else {
153 return Luan.toString(obj); 156 return Luan.toString(obj);
154 } 157 }
155 } 158 }
156 159 */
157 public Object get(Object key) { 160 public Object get(Object key) {
158 if( list != null ) { 161 if( list != null ) {
159 Integer iT = Luan.asInteger(key); 162 Integer iT = Luan.asInteger(key);
160 if( iT != null ) { 163 if( iT != null ) {
161 int i = iT - 1; 164 int i = iT - 1;