Mercurial Hosting > luan
comparison core/src/luan/LuanTable.java @ 539:473e456444ff
Remove object-oriented primitive methods for string and binary
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Mon, 01 Jun 2015 17:53:55 -0600 |
parents | 8e51d6071b67 |
children | f1601a4ce1aa |
comparison
equal
deleted
inserted
replaced
538:919b9410008e | 539:473e456444ff |
---|---|
130 LuanState luan = bit.luan; | 130 LuanState luan = bit.luan; |
131 if( obj instanceof LuanTable ) { | 131 if( obj instanceof LuanTable ) { |
132 LuanTable tbl = (LuanTable)obj; | 132 LuanTable tbl = (LuanTable)obj; |
133 return tbl.get(luan,key); | 133 return tbl.get(luan,key); |
134 } | 134 } |
135 if( obj instanceof String ) | |
136 return StringLuan.__index(bit,(String)obj,key); | |
137 if( obj instanceof byte[] ) | |
138 return BinaryLuan.__index(bit,(byte[])obj,key); | |
139 if( obj != null && luan.hasJava() ) | 135 if( obj != null && luan.hasJava() ) |
140 return JavaLuan.__index(bit,obj,key,false); | 136 return JavaLuan.__index(bit,obj,key,false); |
141 else if( bit.el==null ) | 137 else if( bit.el==null ) |
142 throw bit.exception( "attempt to index a " + Luan.type(obj) + " value" ); | 138 throw bit.exception( "attempt to index a " + Luan.type(obj) + " value" ); |
143 else | 139 else |
153 return list.get(i); | 149 return list.get(i); |
154 } | 150 } |
155 } | 151 } |
156 if( map==null ) | 152 if( map==null ) |
157 return null; | 153 return null; |
154 if( key instanceof Number && !(key instanceof Double) ) { | |
155 Number n = (Number)key; | |
156 key = Double.valueOf(n.doubleValue()); | |
157 } | |
158 return map.get(key); | 158 return map.get(key); |
159 } | 159 } |
160 | 160 |
161 public void put(LuanState luan,Object key,Object value) throws LuanException { | 161 public void put(LuanState luan,Object key,Object value) throws LuanException { |
162 Object h = getHandler("__new_index"); | 162 Object h = getHandler("__new_index"); |
200 } | 200 } |
201 return; | 201 return; |
202 } | 202 } |
203 } | 203 } |
204 } | 204 } |
205 if( map==null ) { | 205 if( map==null ) |
206 map = newMap(); | 206 map = newMap(); |
207 } | |
208 if( key instanceof Number && !(key instanceof Double) ) { | 207 if( key instanceof Number && !(key instanceof Double) ) { |
209 Number n = (Number)key; | 208 Number n = (Number)key; |
210 key = Double.valueOf(n.doubleValue()); | 209 key = Double.valueOf(n.doubleValue()); |
211 } | 210 } |
212 if( val == null ) { | 211 if( val == null ) { |