Mercurial Hosting > luan
diff core/src/luan/modules/BasicLuan.java @ 646:cdc70de628b5
simplify LuanException
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Tue, 29 Mar 2016 19:58:39 -0600 |
parents | 859c0dedc8b6 |
children | d95caff8ba8c |
line wrap: on
line diff
--- a/core/src/luan/modules/BasicLuan.java Tue Mar 29 18:09:51 2016 -0600 +++ b/core/src/luan/modules/BasicLuan.java Tue Mar 29 19:58:39 2016 -0600 @@ -46,17 +46,17 @@ fileName = "stdin:"; String src = PackageLuan.read(luan,fileName,addExtension); if( src == null ) - throw new LuanException(luan, "file '"+fileName+"' not found" ); + throw new LuanException("file '"+fileName+"' not found" ); return load(luan,src,fileName,null,false); } public static LuanFunction pairs(final LuanState luan,final LuanTable t) throws LuanException { - Utils.checkNotNull(luan,t); + Utils.checkNotNull(t); return t.pairs(luan); } - public static LuanFunction ipairs(LuanState luan,final LuanTable t) throws LuanException { - Utils.checkNotNull(luan,t); + public static LuanFunction ipairs(final LuanTable t) throws LuanException { + Utils.checkNotNull(t); return new LuanFunction() { List<Object> list = t.asList(); int i = 0; @@ -71,8 +71,8 @@ }; } - public static Object get_metatable(LuanState luan,LuanTable table) throws LuanException { - Utils.checkNotNull(luan,table); + public static Object get_metatable(LuanTable table) throws LuanException { + Utils.checkNotNull(table); LuanTable metatable = table.getMetatable(); if( metatable == null ) return null; @@ -80,10 +80,10 @@ return obj!=null ? obj : metatable; } - public static void set_metatable(LuanState luan,LuanTable table,LuanTable metatable) throws LuanException { - Utils.checkNotNull(luan,table); + public static void set_metatable(LuanTable table,LuanTable metatable) throws LuanException { + Utils.checkNotNull(table); if( table.getHandler("__metatable") != null ) - throw new LuanException(luan,"cannot change a protected metatable"); + throw new LuanException("cannot change a protected metatable"); table.setMetatable(metatable); } @@ -99,7 +99,7 @@ table.rawPut(index,value); } - public static int raw_len(LuanState luan,Object v) throws LuanException { + public static int raw_len(Object v) throws LuanException { if( v instanceof String ) { String s = (String)v; return s.length(); @@ -108,7 +108,7 @@ LuanTable t = (LuanTable)v; return t.rawLength(); } - throw new LuanException(luan, "bad argument #1 to 'raw_len' (table or string expected)" ); + throw new LuanException( "bad argument #1 to 'raw_len' (table or string expected)" ); } public static String to_string(LuanState luan,Object v) throws LuanException { @@ -116,54 +116,57 @@ } public static LuanTable new_error(LuanState luan,Object msg) throws LuanException { - return new LuanException(luan,msg).table(); + String s = luan.toString(msg); + LuanTable tbl = new LuanException(s).table(); + tbl.rawPut( "message", msg ); + return tbl; } - public static String assert_string(LuanState luan,String v) throws LuanException { - Utils.checkNotNull(luan,v); + public static String assert_string(String v) throws LuanException { + Utils.checkNotNull(v); return v; } - public static Number assert_number(LuanState luan,Number v) throws LuanException { - Utils.checkNotNull(luan,v); + public static Number assert_number(Number v) throws LuanException { + Utils.checkNotNull(v); return v; } - public static LuanTable assert_table(LuanState luan,LuanTable v) throws LuanException { - Utils.checkNotNull(luan,v); + public static LuanTable assert_table(LuanTable v) throws LuanException { + Utils.checkNotNull(v); return v; } - public static boolean assert_boolean(LuanState luan,boolean v) throws LuanException { + public static boolean assert_boolean(boolean v) throws LuanException { return v; } - public static int assert_integer(LuanState luan,int v) throws LuanException { + public static int assert_integer(int v) throws LuanException { return v; } - public static long assert_long(LuanState luan,long v) throws LuanException { + public static long assert_long(long v) throws LuanException { return v; } - public static double assert_double(LuanState luan,double v) throws LuanException { + public static double assert_double(double v) throws LuanException { return v; } - @LuanMethod public static byte[] assert_binary(LuanState luan,byte[] v) throws LuanException { - Utils.checkNotNull(luan,v); + @LuanMethod public static byte[] assert_binary(byte[] v) throws LuanException { + Utils.checkNotNull(v); return v; } - public static LuanFunction assert_function(LuanState luan,LuanFunction v) throws LuanException { - Utils.checkNotNull(luan,v); + public static LuanFunction assert_function(LuanFunction v) throws LuanException { + Utils.checkNotNull(v); return v; } - public static LuanFunction range(LuanState luan,final double from,final double to,Double stepV) throws LuanException { + public static LuanFunction range(final double from,final double to,Double stepV) throws LuanException { final double step = stepV==null ? 1.0 : stepV; if( step == 0.0 ) - throw new LuanException(luan,"bad argument #3 (step may not be zero)"); + throw new LuanException("bad argument #3 (step may not be zero)"); return new LuanFunction() { double v = from; @@ -194,25 +197,25 @@ } public static Object try_(LuanState luan,LuanTable blocks,Object... args) throws LuanException { - Utils.checkNotNull(luan,blocks); + Utils.checkNotNull(blocks); Object obj = blocks.get(luan,1); if( obj == null ) - throw new LuanException(luan,"missing 'try' value"); + throw new LuanException("missing 'try' value"); if( !(obj instanceof LuanFunction) ) - throw new LuanException(luan,"bad 'try' value (function expected, got "+Luan.type(obj)+")"); + throw new LuanException("bad 'try' value (function expected, got "+Luan.type(obj)+")"); LuanFunction tryFn = (LuanFunction)obj; LuanFunction catchFn = null; obj = blocks.get(luan,"catch"); if( obj != null ) { if( !(obj instanceof LuanFunction) ) - throw new LuanException(luan,"bad 'catch' value (function expected, got "+Luan.type(obj)+")"); + throw new LuanException("bad 'catch' value (function expected, got "+Luan.type(obj)+")"); catchFn = (LuanFunction)obj; } LuanFunction finallyFn = null; obj = blocks.get(luan,"finally"); if( obj != null ) { if( !(obj instanceof LuanFunction) ) - throw new LuanException(luan,"bad 'finally' value (function expected, got "+Luan.type(obj)+")"); + throw new LuanException("bad 'finally' value (function expected, got "+Luan.type(obj)+")"); finallyFn = (LuanFunction)obj; } try { @@ -241,8 +244,8 @@ } } - public static String number_type(LuanState luan,Number v) throws LuanException { - Utils.checkNotNull(luan,v); + public static String number_type(Number v) throws LuanException { + Utils.checkNotNull(v); return v.getClass().getSimpleName().toLowerCase(); }