comparison src/luan/lib/PackageLib.java @ 130:0594c132888b

cleanup git-svn-id: https://luan-java.googlecode.com/svn/trunk@131 21e917c8-12df-6dd8-5cb6-c86387c605b9
author fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
date Tue, 10 Jun 2014 02:43:40 +0000
parents f0a4abe58593
children 3119326260ea
comparison
equal deleted inserted replaced
129:486a0641bca4 130:0594c132888b
53 LuanTable searchers = (LuanTable)luan.get("Package.searchers"); 53 LuanTable searchers = (LuanTable)luan.get("Package.searchers");
54 if( searchers == null ) 54 if( searchers == null )
55 searchers = new LuanTable(Collections.<Object>singletonList(preloadSearcher)); 55 searchers = new LuanTable(Collections.<Object>singletonList(preloadSearcher));
56 for( Object s : searchers.asList() ) { 56 for( Object s : searchers.asList() ) {
57 LuanFunction searcher = (LuanFunction)s; 57 LuanFunction searcher = (LuanFunction)s;
58 Object[] a = Luan.array(luan.JAVA.call(searcher,"<searcher>",new Object[]{modName})); 58 Object[] a = Luan.array(luan.call(searcher,"<searcher>",new Object[]{modName}));
59 if( a.length >= 1 && a[0] instanceof LuanFunction ) { 59 if( a.length >= 1 && a[0] instanceof LuanFunction ) {
60 LuanFunction loader = (LuanFunction)a[0]; 60 LuanFunction loader = (LuanFunction)a[0];
61 a[0] = modName; 61 a[0] = modName;
62 mod = Luan.first(luan.JAVA.call(loader,"<require \""+modName+"\">",a)); 62 mod = Luan.first(luan.call(loader,"<require \""+modName+"\">",a));
63 if( mod != null ) { 63 if( mod != null ) {
64 loaded.put(modName,mod); 64 loaded.put(modName,mod);
65 } else { 65 } else {
66 mod = loaded.get(modName); 66 mod = loaded.get(modName);
67 if( mod==null ) 67 if( mod==null )
69 } 69 }
70 break; 70 break;
71 } 71 }
72 } 72 }
73 if( mod == null ) 73 if( mod == null )
74 throw luan.JAVA.exception( "module '"+modName+"' not found" ); 74 throw luan.exception( "module '"+modName+"' not found" );
75 } 75 }
76 return mod; 76 return mod;
77 } 77 }
78 78
79 public static String search_path(String name,String path) { 79 public static String search_path(String name,String path) {
120 try { 120 try {
121 String src = new IoLib.LuanUrl(urlStr).read_text(); 121 String src = new IoLib.LuanUrl(urlStr).read_text();
122 LuanFunction fn = BasicLib.load(luan,src,urlStr,false,false); 122 LuanFunction fn = BasicLib.load(luan,src,urlStr,false,false);
123 return fn.call(luan,args); 123 return fn.call(luan,args);
124 } catch(IOException e) { 124 } catch(IOException e) {
125 throw luan.JAVA.exception(e); 125 throw luan.exception(e);
126 } 126 }
127 } 127 }
128 }; 128 };
129 129
130 public static final LuanFunction javaFileSearcher = new LuanFunction() { 130 public static final LuanFunction javaFileSearcher = new LuanFunction() {