comparison core/src/luan/LuanJavaFunction.java @ 244:0a8e6fdb62f0

fix Math.random() git-svn-id: https://luan-java.googlecode.com/svn/trunk@245 21e917c8-12df-6dd8-5cb6-c86387c605b9
author fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
date Thu, 09 Oct 2014 22:44:07 +0000
parents ec016471c6eb
children 9737ebb9aaa0
comparison
equal deleted inserted replaced
243:c912f6de2053 244:0a8e6fdb62f0
230 230
231 private static final ArgConverter ARG_SAME = new ArgConverter() { 231 private static final ArgConverter ARG_SAME = new ArgConverter() {
232 public Object convert(Object obj) { 232 public Object convert(Object obj) {
233 return obj; 233 return obj;
234 } 234 }
235 @Override public String toString() {
236 return "ARG_SAME";
237 }
235 }; 238 };
236 239
237 private static final ArgConverter ARG_BOOLEAN = new ArgConverter() { 240 private static final ArgConverter ARG_BOOLEAN = new ArgConverter() {
238 public Object convert(Object obj) { 241 public Object convert(Object obj) {
239 return Luan.toBoolean(obj); 242 return Luan.toBoolean(obj);
240 } 243 }
244 @Override public String toString() {
245 return "ARG_BOOLEAN";
246 }
241 }; 247 };
242 248
243 private static final ArgConverter ARG_BOOLEAN_OBJ = new ArgConverter() { 249 private static final ArgConverter ARG_BOOLEAN_OBJ = new ArgConverter() {
244 public Object convert(Object obj) { 250 public Object convert(Object obj) {
245 return obj==null ? null : Luan.toBoolean(obj); 251 return obj==null ? null : Luan.toBoolean(obj);
252 }
253 @Override public String toString() {
254 return "ARG_BOOLEAN_OBJ";
246 } 255 }
247 }; 256 };
248 257
249 private static final ArgConverter ARG_DOUBLE = new ArgConverter() { 258 private static final ArgConverter ARG_DOUBLE = new ArgConverter() {
250 public Object convert(Object obj) { 259 public Object convert(Object obj) {
260 return Double.valueOf(s); 269 return Double.valueOf(s);
261 } catch(NumberFormatException e) {} 270 } catch(NumberFormatException e) {}
262 } 271 }
263 return obj; 272 return obj;
264 } 273 }
274 @Override public String toString() {
275 return "ARG_DOUBLE";
276 }
265 }; 277 };
266 278
267 private static final ArgConverter ARG_FLOAT = new ArgConverter() { 279 private static final ArgConverter ARG_FLOAT = new ArgConverter() {
268 public Object convert(Object obj) { 280 public Object convert(Object obj) {
269 if( obj instanceof Float ) 281 if( obj instanceof Float )
277 try { 289 try {
278 return Float.valueOf(s); 290 return Float.valueOf(s);
279 } catch(NumberFormatException e) {} 291 } catch(NumberFormatException e) {}
280 } 292 }
281 return obj; 293 return obj;
294 }
295 @Override public String toString() {
296 return "ARG_FLOAT";
282 } 297 }
283 }; 298 };
284 299
285 private static final ArgConverter ARG_LONG = new ArgConverter() { 300 private static final ArgConverter ARG_LONG = new ArgConverter() {
286 public Object convert(Object obj) { 301 public Object convert(Object obj) {
298 return Long.valueOf(s); 313 return Long.valueOf(s);
299 } catch(NumberFormatException e) {} 314 } catch(NumberFormatException e) {}
300 } 315 }
301 return obj; 316 return obj;
302 } 317 }
318 @Override public String toString() {
319 return "ARG_LONG";
320 }
303 }; 321 };
304 322
305 private static final ArgConverter ARG_INTEGER = new ArgConverter() { 323 private static final ArgConverter ARG_INTEGER = new ArgConverter() {
306 public Object convert(Object obj) { 324 public Object convert(Object obj) {
307 if( obj instanceof Integer ) 325 if( obj instanceof Integer )
318 return Integer.valueOf(s); 336 return Integer.valueOf(s);
319 } catch(NumberFormatException e) {} 337 } catch(NumberFormatException e) {}
320 } 338 }
321 return obj; 339 return obj;
322 } 340 }
341 @Override public String toString() {
342 return "ARG_INTEGER";
343 }
323 }; 344 };
324 345
325 private static final ArgConverter ARG_SHORT = new ArgConverter() { 346 private static final ArgConverter ARG_SHORT = new ArgConverter() {
326 public Object convert(Object obj) { 347 public Object convert(Object obj) {
327 if( obj instanceof Short ) 348 if( obj instanceof Short )
338 return Short.valueOf(s); 359 return Short.valueOf(s);
339 } catch(NumberFormatException e) {} 360 } catch(NumberFormatException e) {}
340 } 361 }
341 return obj; 362 return obj;
342 } 363 }
364 @Override public String toString() {
365 return "ARG_SHORT";
366 }
343 }; 367 };
344 368
345 private static final ArgConverter ARG_BYTE = new ArgConverter() { 369 private static final ArgConverter ARG_BYTE = new ArgConverter() {
346 public Object convert(Object obj) { 370 public Object convert(Object obj) {
347 if( obj instanceof Byte ) 371 if( obj instanceof Byte )
358 return Byte.valueOf(s); 382 return Byte.valueOf(s);
359 } catch(NumberFormatException e) {} 383 } catch(NumberFormatException e) {}
360 } 384 }
361 return obj; 385 return obj;
362 } 386 }
387 @Override public String toString() {
388 return "ARG_BYTE";
389 }
363 }; 390 };
364 391
365 private static final ArgConverter ARG_TABLE = new ArgConverter() { 392 private static final ArgConverter ARG_TABLE = new ArgConverter() {
366 public Object convert(Object obj) { 393 public Object convert(Object obj) {
367 if( obj == null ) 394 if( obj == null )
386 Object[] a = (Object[])obj; 413 Object[] a = (Object[])obj;
387 return new LuanTableImpl(Arrays.asList(a)); 414 return new LuanTableImpl(Arrays.asList(a));
388 } 415 }
389 return obj; 416 return obj;
390 } 417 }
418 @Override public String toString() {
419 return "ARG_TABLE";
420 }
391 }; 421 };
392 422
393 private static final ArgConverter ARG_MAP = new ArgConverter() { 423 private static final ArgConverter ARG_MAP = new ArgConverter() {
394 public Object convert(Object obj) { 424 public Object convert(Object obj) {
395 if( obj instanceof LuanTableImpl ) { 425 if( obj instanceof LuanTableImpl ) {
396 LuanTableImpl t = (LuanTableImpl)obj; 426 LuanTableImpl t = (LuanTableImpl)obj;
397 return t.asMap(); 427 return t.asMap();
398 } 428 }
399 return obj; 429 return obj;
430 }
431 @Override public String toString() {
432 return "ARG_MAP";
400 } 433 }
401 }; 434 };
402 435
403 private static final ArgConverter ARG_LIST = new ArgConverter() { 436 private static final ArgConverter ARG_LIST = new ArgConverter() {
404 public Object convert(Object obj) { 437 public Object convert(Object obj) {
407 if( t.isList() ) 440 if( t.isList() )
408 return t.asList(); 441 return t.asList();
409 } 442 }
410 return obj; 443 return obj;
411 } 444 }
445 @Override public String toString() {
446 return "ARG_LIST";
447 }
412 }; 448 };
413 449
414 private static final ArgConverter ARG_SET = new ArgConverter() { 450 private static final ArgConverter ARG_SET = new ArgConverter() {
415 public Object convert(Object obj) { 451 public Object convert(Object obj) {
416 if( obj instanceof LuanTableImpl ) { 452 if( obj instanceof LuanTableImpl ) {
417 LuanTableImpl t = (LuanTableImpl)obj; 453 LuanTableImpl t = (LuanTableImpl)obj;
418 if( t.isSet() ) 454 if( t.isSet() )
419 return t.asSet(); 455 return t.asSet();
420 } 456 }
421 return obj; 457 return obj;
458 }
459 @Override public String toString() {
460 return "ARG_SET";
422 } 461 }
423 }; 462 };
424 463
425 private static class ArgArray implements ArgConverter { 464 private static class ArgArray implements ArgConverter {
426 private final Object[] a; 465 private final Object[] a;