Mercurial Hosting > luan
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 } |