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) {