comparison core/src/luan/modules/JavaLuan.java @ 646:cdc70de628b5

simplify LuanException
author Franklin Schmidt <fschmidt@gmail.com>
date Tue, 29 Mar 2016 19:58:39 -0600
parents 859c0dedc8b6
children 8e8c30b72e9b
comparison
equal deleted inserted replaced
645:859c0dedc8b6 646:cdc70de628b5
40 } 40 }
41 } 41 }
42 42
43 private static void checkJava(LuanState luan) throws LuanException { 43 private static void checkJava(LuanState luan) throws LuanException {
44 if( !luan.hasJava() ) 44 if( !luan.hasJava() )
45 throw new LuanException(luan,"Java isn't allowed"); 45 throw new LuanException("Java isn't allowed");
46 } 46 }
47 47
48 static final Object FAIL = new Object(); 48 static final Object FAIL = new Object();
49 49
50 public static Object __index(LuanState luan,Object obj,Object key,boolean canReturnFail) throws LuanException { 50 public static Object __index(LuanState luan,Object obj,Object key,boolean canReturnFail) throws LuanException {
107 } 107 }
108 } 108 }
109 //System.out.println("invalid member '"+key+"' for java object: "+obj); 109 //System.out.println("invalid member '"+key+"' for java object: "+obj);
110 if( canReturnFail ) 110 if( canReturnFail )
111 return FAIL; 111 return FAIL;
112 throw new LuanException(luan, "invalid index for java "+cls ); 112 throw new LuanException( "invalid index for java "+cls );
113 } 113 }
114 114
115 private static Object member(Object obj,List<Member> members) throws LuanException { 115 private static Object member(Object obj,List<Member> members) throws LuanException {
116 try { 116 try {
117 if( members.size()==1 ) { 117 if( members.size()==1 ) {
174 setMember(obj,members,value); 174 setMember(obj,members,value);
175 return; 175 return;
176 } 176 }
177 } 177 }
178 } 178 }
179 throw new LuanException(luan, "invalid index for java "+cls ); 179 throw new LuanException( "invalid index for java "+cls );
180 } 180 }
181 181
182 private static void setMember(Object obj,List<Member> members,Object value) { 182 private static void setMember(Object obj,List<Member> members,Object value) {
183 Field field = (Field)members.get(0); 183 Field field = (Field)members.get(0);
184 try { 184 try {
375 for( LuanJavaFunction fn : fnMap.get(args.length) ) { 375 for( LuanJavaFunction fn : fnMap.get(args.length) ) {
376 try { 376 try {
377 return fn.rawCall(luan,args); 377 return fn.rawCall(luan,args);
378 } catch(IllegalArgumentException e) {} 378 } catch(IllegalArgumentException e) {}
379 } 379 }
380 throw new LuanException(luan,"no method matched args: "+Arrays.asList(args)); 380 throw new LuanException("no method matched args: "+Arrays.asList(args));
381 } 381 }
382 } 382 }
383 383
384 private static class InstanceOf { 384 private static class InstanceOf {
385 private final Object obj; 385 private final Object obj;