Mercurial Hosting > luan
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; |