Mercurial Hosting > luan
comparison 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 |
comparison
equal
deleted
inserted
replaced
1671:8066b8882732 | 1672:8dd8c556c449 |
---|---|
164 } | 164 } |
165 } | 165 } |
166 throw new LuanException( "invalid index for java "+cls ); | 166 throw new LuanException( "invalid index for java "+cls ); |
167 } | 167 } |
168 | 168 |
169 private static void setMember(Object obj,List<Member> members,Object value) { | 169 private static void setMember(Object obj,List<Member> members,Object value) throws LuanException { |
170 Field field = (Field)members.get(0); | 170 Field field = (Field)members.get(0); |
171 try { | 171 try { |
172 /* | |
172 try { | 173 try { |
173 field.set(obj,value); | 174 field.set(obj,value); |
174 } catch(IllegalArgumentException e) { | 175 } catch(IllegalArgumentException e) { |
175 Class cls = field.getType(); | 176 Class cls = field.getType(); |
176 if( value instanceof Number ) { | 177 if( value instanceof Number ) { |
181 field.setInt(obj,r); | 182 field.setInt(obj,r); |
182 return; | 183 return; |
183 } | 184 } |
184 } | 185 } |
185 } | 186 } |
186 throw e; | 187 throw new LuanException(e); |
187 } | 188 } |
189 */ | |
190 Class cls = field.getType(); | |
191 LuanJavaFunction.ArgConverter ac = LuanJavaFunction.getArgConverter(cls); | |
192 field.set( obj, ac.convert(value) ); | |
193 } catch(IllegalArgumentException e) { | |
194 throw new LuanException(e); | |
188 } catch(IllegalAccessException e) { | 195 } catch(IllegalAccessException e) { |
189 throw new RuntimeException(e); | 196 throw new LuanException(e); |
190 } | 197 } |
191 } | 198 } |
192 | 199 |
193 public static boolean privateAccess = false; | 200 public static boolean privateAccess = false; |
194 private static Map<Class,Map<String,List<Member>>> memberMap = new HashMap<Class,Map<String,List<Member>>>(); | 201 private static Map<Class,Map<String,List<Member>>> memberMap = new HashMap<Class,Map<String,List<Member>>>(); |