comparison core/src/luan/modules/JavaLuan.java @ 575:7c3ad6db8ac3

make LuanState.JAVA private
author Franklin Schmidt <fschmidt@gmail.com>
date Mon, 13 Jul 2015 18:34:31 -0600
parents 6cc2f047019b
children 4723d22062ce
comparison
equal deleted inserted replaced
574:6cc2f047019b 575:7c3ad6db8ac3
47 throw luan.exception("Java isn't allowed"); 47 throw luan.exception("Java isn't allowed");
48 } 48 }
49 49
50 static final Object FAIL = new Object(); 50 static final Object FAIL = new Object();
51 51
52 public static Object __index(LuanBit bit,Object obj,Object key,boolean canReturnFail) throws LuanException { 52 public static Object __index(LuanState luan,Object obj,Object key,boolean canReturnFail) throws LuanException {
53 LuanState luan = bit.luan;
54 checkJava(luan); 53 checkJava(luan);
55 Class cls; 54 Class cls;
56 if( obj instanceof Static ) { 55 if( obj instanceof Static ) {
57 Static st = (Static)obj; 56 Static st = (Static)obj;
58 cls = st.cls; 57 cls = st.cls;
110 } 109 }
111 } 110 }
112 //System.out.println("invalid member '"+key+"' for java object: "+obj); 111 //System.out.println("invalid member '"+key+"' for java object: "+obj);
113 if( canReturnFail ) 112 if( canReturnFail )
114 return FAIL; 113 return FAIL;
115 if( bit.el != null ) 114 throw luan.exception( "invalid index for java "+cls+" in '"+luan.context()+"'" );
116 throw bit.exception( "invalid index for java "+cls+" in '"+bit.el.text()+"'" );
117 else
118 throw bit.exception( "invalid index for java "+cls );
119 } 115 }
120 116
121 private static Object member(Object obj,List<Member> members) throws LuanException { 117 private static Object member(Object obj,List<Member> members) throws LuanException {
122 try { 118 try {
123 if( members.size()==1 ) { 119 if( members.size()==1 ) {
329 throws Throwable 325 throws Throwable
330 { 326 {
331 if( args==null ) 327 if( args==null )
332 args = new Object[0]; 328 args = new Object[0];
333 String name = method.getName(); 329 String name = method.getName();
334 Object fnObj = t.get(luan.JAVA,name); 330 Object fnObj = t.get(luan,name);
335 if( fnObj == null ) 331 if( fnObj == null )
336 throw new NullPointerException("luan_proxy couldn't find method '"+name+"'"); 332 throw new NullPointerException("luan_proxy couldn't find method '"+name+"'");
337 LuanFunction fn = luan.checkFunction(fnObj); 333 LuanFunction fn = luan.checkFunction(fnObj);
338 return Luan.first(fn.call(luan,args)); 334 return Luan.first(fn.call(luan,args));
339 } 335 }