comparison core/src/luan/modules/PackageLuan.java @ 693:ca169567ce07

module URIs must now include ".luan"
author Franklin Schmidt <fschmidt@gmail.com>
date Tue, 19 Apr 2016 15:54:11 -0600
parents cdc70de628b5
children b620b8e1010f
comparison
equal deleted inserted replaced
692:7bd97d642f37 693:ca169567ce07
43 Object mod = loaded.rawGet(modName); 43 Object mod = loaded.rawGet(modName);
44 if( mod == null ) { 44 if( mod == null ) {
45 if( modName.startsWith("java:") ) { 45 if( modName.startsWith("java:") ) {
46 mod = JavaLuan.load(luan,modName.substring(5)); 46 mod = JavaLuan.load(luan,modName.substring(5));
47 } else { 47 } else {
48 String src = read(luan,modName,true); 48 String src = read(luan,modName);
49 if( src == null ) 49 if( src == null )
50 return null; 50 return null;
51 LuanFunction loader = BasicLuan.load(luan,src,modName,null,false); 51 LuanFunction loader = BasicLuan.load(luan,src,modName,null,false);
52 mod = Luan.first( 52 mod = Luan.first(
53 loader.call(luan,new Object[]{modName}) 53 loader.call(luan,new Object[]{modName})
62 loaded.rawPut(modName,mod); 62 loaded.rawPut(modName,mod);
63 } 63 }
64 return mod; 64 return mod;
65 } 65 }
66 66
67 static String read(LuanState luan,String uri,Boolean addExtension) throws LuanException { 67 static String read(LuanState luan,String uri) throws LuanException {
68 LuanTable t = IoLuan.uri(luan,uri,addExtension); 68 LuanTable t = IoLuan.uri(luan,uri);
69 if( t == null ) 69 if( t == null )
70 return null; 70 return null;
71 LuanFunction existsFn = (LuanFunction)t.get(luan,"exists"); 71 LuanFunction existsFn = (LuanFunction)t.get(luan,"exists");
72 boolean exists = (Boolean)Luan.first(existsFn.call(luan)); 72 boolean exists = (Boolean)Luan.first(existsFn.call(luan));
73 if( !exists ) 73 if( !exists )