Mercurial Hosting > luan
comparison core/src/luan/impl/ThemeParser.java @ 646:cdc70de628b5
simplify LuanException
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Tue, 29 Mar 2016 19:58:39 -0600 |
parents | 859c0dedc8b6 |
children | b438a47196bc |
comparison
equal
deleted
inserted
replaced
645:859c0dedc8b6 | 646:cdc70de628b5 |
---|---|
19 FnDef fnDef = new ThemeParser(sourceName,sourceText).parse(); | 19 FnDef fnDef = new ThemeParser(sourceName,sourceText).parse(); |
20 final LuanStateImpl luanImpl = (LuanStateImpl)luan; | 20 final LuanStateImpl luanImpl = (LuanStateImpl)luan; |
21 return new Closure(luanImpl,fnDef); | 21 return new Closure(luanImpl,fnDef); |
22 } catch(ParseException e) { | 22 } catch(ParseException e) { |
23 //e.printStackTrace(); | 23 //e.printStackTrace(); |
24 throw new LuanException(luan, e.getFancyMessage() ); | 24 throw new LuanException( e.getFancyMessage() ); |
25 } | 25 } |
26 } | 26 } |
27 | 27 |
28 private static final class Frame { | 28 private static final class Frame { |
29 final Frame parent; | 29 final Frame parent; |
200 final Expr env = env(); | 200 final Expr env = env(); |
201 Expr exp = new ExprImpl() { | 201 Expr exp = new ExprImpl() { |
202 @Override public Object eval(LuanStateImpl luan) throws LuanException { | 202 @Override public Object eval(LuanStateImpl luan) throws LuanException { |
203 Object obj = env.eval(luan); | 203 Object obj = env.eval(luan); |
204 if( !(obj instanceof LuanTable) ) | 204 if( !(obj instanceof LuanTable) ) |
205 throw new LuanException(luan,"bad argument (table expected, got "+Luan.type(obj)+")"); | 205 throw new LuanException("bad argument (table expected, got "+Luan.type(obj)+")"); |
206 LuanTable tbl = (LuanTable)obj; | 206 LuanTable tbl = (LuanTable)obj; |
207 String indent = (String)tbl.get(luan,INDENT); | 207 String indent = (String)tbl.get(luan,INDENT); |
208 if( indent==null ) throw new NullPointerException(); | 208 if( indent==null ) throw new NullPointerException(); |
209 return indent; | 209 return indent; |
210 } | 210 } |