comparison core/src/luan/LuanJavaFunction.java @ 572:f1601a4ce1aa

fix stack when calling meta-methods
author Franklin Schmidt <fschmidt@gmail.com>
date Sun, 12 Jul 2015 21:34:23 -0600
parents b8ddd55c9b11
children 7c3ad6db8ac3
comparison
equal deleted inserted replaced
571:cd944b010f25 572:f1601a4ce1aa
381 381
382 private static final ArgConverter ARG_MAP = new ArgConverter() { 382 private static final ArgConverter ARG_MAP = new ArgConverter() {
383 public Object convert(LuanState luan,Object obj) throws LuanException { 383 public Object convert(LuanState luan,Object obj) throws LuanException {
384 if( obj instanceof LuanTable ) { 384 if( obj instanceof LuanTable ) {
385 LuanTable t = (LuanTable)obj; 385 LuanTable t = (LuanTable)obj;
386 return t.asMap(luan); 386 return t.asMap(luan.JAVA);
387 } 387 }
388 return obj; 388 return obj;
389 } 389 }
390 @Override public String toString() { 390 @Override public String toString() {
391 return "ARG_MAP"; 391 return "ARG_MAP";
408 408
409 private static final ArgConverter ARG_SET = new ArgConverter() { 409 private static final ArgConverter ARG_SET = new ArgConverter() {
410 public Object convert(LuanState luan,Object obj) throws LuanException { 410 public Object convert(LuanState luan,Object obj) throws LuanException {
411 if( obj instanceof LuanTable ) { 411 if( obj instanceof LuanTable ) {
412 LuanTable t = (LuanTable)obj; 412 LuanTable t = (LuanTable)obj;
413 if( t.isSet(luan) ) 413 if( t.isSet(luan.JAVA) )
414 return t.asSet(luan); 414 return t.asSet(luan.JAVA);
415 } 415 }
416 return obj; 416 return obj;
417 } 417 }
418 @Override public String toString() { 418 @Override public String toString() {
419 return "ARG_SET"; 419 return "ARG_SET";
424 public Object convert(LuanState luan,Object obj) throws LuanException { 424 public Object convert(LuanState luan,Object obj) throws LuanException {
425 if( obj instanceof LuanTable ) { 425 if( obj instanceof LuanTable ) {
426 LuanTable t = (LuanTable)obj; 426 LuanTable t = (LuanTable)obj;
427 if( t.isList() ) 427 if( t.isList() )
428 return t.asList(); 428 return t.asList();
429 if( t.isSet(luan) ) 429 if( t.isSet(luan.JAVA) )
430 return t.asSet(luan); 430 return t.asSet(luan.JAVA);
431 } 431 }
432 return obj; 432 return obj;
433 } 433 }
434 @Override public String toString() { 434 @Override public String toString() {
435 return "ARG_COLLECTION"; 435 return "ARG_COLLECTION";