Mercurial Hosting > luan
diff src/luan/modules/JavaLuan.java @ 1672:8dd8c556c449
backup work
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Thu, 26 May 2022 21:10:02 -0600 |
parents | c922446f53aa |
children |
line wrap: on
line diff
--- a/src/luan/modules/JavaLuan.java Thu May 12 10:56:45 2022 -0600 +++ b/src/luan/modules/JavaLuan.java Thu May 26 21:10:02 2022 -0600 @@ -166,9 +166,10 @@ throw new LuanException( "invalid index for java "+cls ); } - private static void setMember(Object obj,List<Member> members,Object value) { + private static void setMember(Object obj,List<Member> members,Object value) throws LuanException { Field field = (Field)members.get(0); try { +/* try { field.set(obj,value); } catch(IllegalArgumentException e) { @@ -183,10 +184,16 @@ } } } - throw e; + throw new LuanException(e); } +*/ + Class cls = field.getType(); + LuanJavaFunction.ArgConverter ac = LuanJavaFunction.getArgConverter(cls); + field.set( obj, ac.convert(value) ); + } catch(IllegalArgumentException e) { + throw new LuanException(e); } catch(IllegalAccessException e) { - throw new RuntimeException(e); + throw new LuanException(e); } }