comparison core/src/luan/modules/PackageLuan.java @ 572:f1601a4ce1aa

fix stack when calling meta-methods
author Franklin Schmidt <fschmidt@gmail.com>
date Sun, 12 Jul 2015 21:34:23 -0600
parents 92c3d22745b8
children 6cc2f047019b
comparison
equal deleted inserted replaced
571:cd944b010f25 572:f1601a4ce1aa
67 67
68 static String read(LuanState luan,String uri,Boolean addExtension) throws LuanException { 68 static String read(LuanState luan,String uri,Boolean addExtension) throws LuanException {
69 LuanTable t = IoLuan.uri(luan,uri,addExtension); 69 LuanTable t = IoLuan.uri(luan,uri,addExtension);
70 if( t == null ) 70 if( t == null )
71 return null; 71 return null;
72 LuanFunction existsFn = (LuanFunction)t.get(luan,"exists"); 72 LuanFunction existsFn = (LuanFunction)t.get(luan.JAVA,"exists");
73 boolean exists = (Boolean)Luan.first(luan.call(existsFn)); 73 boolean exists = (Boolean)Luan.first(luan.call(existsFn));
74 if( !exists ) 74 if( !exists )
75 return null; 75 return null;
76 LuanFunction reader = (LuanFunction)t.get(luan,"read_text"); 76 LuanFunction reader = (LuanFunction)t.get(luan.JAVA,"read_text");
77 return (String)Luan.first(luan.call(reader)); 77 return (String)Luan.first(luan.call(reader));
78 } 78 }
79 79
80 } 80 }