diff src/luan/interp/LenExpr.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 8ede219cd111
children f5af13062b10
line wrap: on
line diff
--- a/src/luan/interp/LenExpr.java	Wed Feb 27 19:42:09 2013 +0000
+++ b/src/luan/interp/LenExpr.java	Wed Feb 27 23:50:32 2013 +0000
@@ -5,6 +5,7 @@
 import luan.LuanFunction;
 import luan.LuanException;
 import luan.LuanSource;
+import luan.LuanBit;
 
 
 final class LenExpr extends UnaryOpExpr {
@@ -19,13 +20,14 @@
 			String s = (String)o;
 			return s.length();
 		}
-		LuanFunction fn = luan.getHandlerFunction(se,"__len",o);
+		LuanBit bit = luan.bit(se);
+		LuanFunction fn = bit.getHandlerFunction("__len",o);
 		if( fn != null )
-			return Luan.first(luan.call(fn,se,"__len",o));
+			return Luan.first(bit.call(fn,"__len",o));
 		if( o instanceof LuanTable ) {
 			LuanTable t = (LuanTable)o;
 			return t.length();
 		}
-		throw new LuanException( luan, se, "attempt to get length of a " + Luan.type(o) + " value" );
+		throw bit.exception( "attempt to get length of a " + Luan.type(o) + " value" );
 	}
 }