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