Mercurial Hosting > luan
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() { |