Mercurial Hosting > luan
comparison core/src/luan/impl/LuanCompiler.java @ 675:d95caff8ba8c
minor
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Tue, 12 Apr 2016 19:41:26 -0600 |
parents | d3e5414bdf4c |
children | 49f3d290bebd |
comparison
equal
deleted
inserted
replaced
674:2994e46f62b7 | 675:d95caff8ba8c |
---|---|
12 | 12 |
13 | 13 |
14 public final class LuanCompiler { | 14 public final class LuanCompiler { |
15 private LuanCompiler() {} // never | 15 private LuanCompiler() {} // never |
16 | 16 |
17 public static LuanFunction compile(LuanState luan,String sourceName,String sourceText,LuanTable env,boolean allowExpr) throws LuanException { | 17 public static LuanFunction compile(String sourceName,String sourceText,LuanTable env,boolean allowExpr) throws LuanException { |
18 LuanParser parser = new LuanParser(sourceName,sourceText); | 18 LuanParser parser = new LuanParser(sourceName,sourceText); |
19 parser.addVar( "java" ); | 19 parser.addVar( "java" ); |
20 parser.addVar( "require" ); | 20 parser.addVar( "require" ); |
21 if( env != null ) parser.addVar( "_ENV" ); | 21 if( env != null ) parser.addVar( "_ENV" ); |
22 Class fnClass = parse(parser,allowExpr); | 22 Class fnClass = parse(parser,allowExpr); |
30 env.java = java; | 30 env.java = java; |
31 } | 31 } |
32 } | 32 } |
33 Closure closure; | 33 Closure closure; |
34 try { | 34 try { |
35 closure = (Closure)fnClass.getConstructor(LuanState.class,LuanJava.class).newInstance(luan,java); | 35 closure = (Closure)fnClass.getConstructor(LuanJava.class).newInstance(java); |
36 } catch(NoSuchMethodException e) { | 36 } catch(NoSuchMethodException e) { |
37 throw new RuntimeException(e); | 37 throw new RuntimeException(e); |
38 } catch(InstantiationException e) { | 38 } catch(InstantiationException e) { |
39 throw new RuntimeException(e); | 39 throw new RuntimeException(e); |
40 } catch(IllegalAccessException e) { | 40 } catch(IllegalAccessException e) { |