comparison src/luan/LuanJavaFunction.java @ 1252:aa8517d7c065

convert primitive array to table
author Franklin Schmidt <fschmidt@gmail.com>
date Thu, 30 Aug 2018 10:58:19 -0600
parents 4cf541886663
children e8020216dee7
comparison
equal deleted inserted replaced
1251:ddd2ec2c0769 1252:aa8517d7c065
358 } 358 }
359 if( obj instanceof Set ) { 359 if( obj instanceof Set ) {
360 return new LuanTable((Set)obj); 360 return new LuanTable((Set)obj);
361 } 361 }
362 Class cls = obj.getClass(); 362 Class cls = obj.getClass();
363 if( cls.isArray() && !cls.getComponentType().isPrimitive() ) { 363 if( cls.isArray() ) {
364 Object[] a = (Object[])obj; 364 if( cls.getComponentType().isPrimitive() ) {
365 return new LuanTable(Arrays.asList(a)); 365 int len = Array.getLength(obj);
366 List list = new ArrayList();
367 for( int i=0; i<len; i++ ) {
368 list.add(Array.get(obj,i));
369 }
370 return new LuanTable(list);
371 } else {
372 Object[] a = (Object[])obj;
373 return new LuanTable(Arrays.asList(a));
374 }
366 } 375 }
367 return obj; 376 return obj;
368 } 377 }
369 @Override public String toString() { 378 @Override public String toString() {
370 return "ARG_TABLE"; 379 return "ARG_TABLE";