diff src/luan/lib/BasicLib.java @ 88:6ca02b188dba

add LuanBit to clean up code; add repr(); git-svn-id: https://luan-java.googlecode.com/svn/trunk@89 21e917c8-12df-6dd8-5cb6-c86387c605b9
author fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
date Wed, 27 Feb 2013 23:50:32 +0000
parents 6db8f286fa6c
children b1e87f1bcc13
line wrap: on
line diff
--- a/src/luan/lib/BasicLib.java	Wed Feb 27 19:42:09 2013 +0000
+++ b/src/luan/lib/BasicLib.java	Wed Feb 27 23:50:32 2013 +0000
@@ -46,6 +46,7 @@
 				add( global, "raw_get", LuanTable.class, Object.class );
 				add( global, "raw_len", LuanState.class, Object.class );
 				add( global, "raw_set", LuanTable.class, Object.class, Object.class );
+				add( global, "repr", LuanState.class, Object.class );
 				add( global, "set_metatable", LuanTable.class, LuanTable.class );
 				add( global, "to_number", Object.class, Integer.class );
 				add( global, "to_string", LuanState.class, Object.class );
@@ -66,7 +67,7 @@
 		for( int i=0; i<args.length; i++ ) {
 			if( i > 0 )
 				luan.out.print('\t');
-			luan.out.print( luan.toString(LuanElement.JAVA,args[i]) );
+			luan.out.print( luan.JAVA.toString(args[i]) );
 		}
 		luan.out.println();
 	}
@@ -85,13 +86,13 @@
 			String src = fileName==null ? Utils.readAll(new InputStreamReader(System.in)) : Utils.read(new File(fileName));
 			return load(luan,src,fileName,env);
 		} catch(IOException e) {
-			throw new LuanException(luan,LuanElement.JAVA,e);
+			throw luan.JAVA.exception(e);
 		}
 	}
 
 	public static Object[] do_file(LuanState luan,String fileName,LuanTable env) throws LuanException {
 		LuanFunction fn = load_file(luan,fileName,env);
-		return luan.call(fn,LuanElement.JAVA,null);
+		return luan.JAVA.call(fn,null);
 	}
 
 	private static LuanFunction pairs(final Iterator<Map.Entry<Object,Object>> iter) {
@@ -146,7 +147,7 @@
 			LuanTable t = (LuanTable)v;
 			return t.length();
 		}
-		throw new LuanException( luan, LuanElement.JAVA, "bad argument #1 to 'raw_len' (table or string expected)" );
+		throw luan.JAVA.exception( "bad argument #1 to 'raw_len' (table or string expected)" );
 	}
 
 	public static Number to_number(Object e,Integer base) {
@@ -154,11 +155,11 @@
 	}
 
 	public static String to_string(LuanState luan,Object v) throws LuanException {
-		return luan.toString(LuanElement.JAVA,v);
+		return luan.JAVA.toString(v);
 	}
 
 	public static void error(LuanState luan,Object msg) throws LuanException {
-		throw new LuanException(luan,LuanElement.JAVA,msg);
+		throw luan.JAVA.exception(msg);
 	}
 
 	public static Object assert_(LuanState luan,Object v,String msg) throws LuanException {
@@ -166,7 +167,7 @@
 			return v;
 		if( msg == null )
 			msg = "assertion failed!";
-		throw new LuanException( luan, LuanElement.JAVA, msg );
+		throw luan.JAVA.exception( msg );
 	}
 
 	public static String assert_string(LuanState luan,String v) throws LuanException {
@@ -190,8 +191,12 @@
 
 	public static Object assert_nil(LuanState luan,Object v) throws LuanException {
 		if( v != null )
-			throw new LuanException(luan,LuanElement.JAVA,"bad argument #1 (nil expected, got "+Luan.type(v)+")");
+			throw luan.JAVA.exception("bad argument #1 (nil expected, got "+Luan.type(v)+")");
 		return v;
 	}
 
+	public static String repr(LuanState luan,Object v) throws LuanException {
+		return luan.JAVA.repr(v);
+	}
+
 }