Mercurial Hosting > luan
diff core/src/luan/modules/PackageLuan.java @ 186:cf939124461a
don't import modules by default
git-svn-id: https://luan-java.googlecode.com/svn/trunk@187 21e917c8-12df-6dd8-5cb6-c86387c605b9
author | fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9> |
---|---|
date | Thu, 26 Jun 2014 00:36:50 +0000 |
parents | bdbd4740121f |
children | 24ede40ee0aa |
line wrap: on
line diff
--- a/core/src/luan/modules/PackageLuan.java Wed Jun 25 07:06:16 2014 +0000 +++ b/core/src/luan/modules/PackageLuan.java Thu Jun 26 00:36:50 2014 +0000 @@ -25,7 +25,7 @@ module.put("path","?.luan;java:luan/modules/?.luan"); module.put("jpath",jpath); try { - add( module, "require", LuanState.class, String.class ); + module.put("require",requireFn); add( module, "load", LuanState.class, String.class ); add( module, "load_lib", String.class ); add( module, "search_path", String.class, String.class ); @@ -42,6 +42,15 @@ } }; + public static final LuanFunction requireFn; + static { + try { + requireFn = new LuanJavaFunction(PackageLuan.class.getMethod("require",LuanState.class,String.class),null); + } catch(NoSuchMethodException e) { + throw new RuntimeException(e); + } + } + private static void add(LuanTable t,String method,Class<?>... parameterTypes) throws NoSuchMethodException { t.put( method, new LuanJavaFunction(PackageLuan.class.getMethod(method,parameterTypes),null) ); }