Mercurial Hosting > luan
view core/src/luan/impl/$Luan.java @ 648:e387e4021afe
start compiler with len operator
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Wed, 30 Mar 2016 19:40:48 -0600 |
parents | |
children | 37f0cf43f191 |
line wrap: on
line source
package luan.impl; import java.util.List; import java.util.ArrayList; import luan.Luan; import luan.LuanTable; import luan.LuanException; public final class $Luan { private $Luan() {} // never private static List<Expressions> listExpressions = new ArrayList<Expressions>(); static int addExpressions(Expressions exp) { int i = listExpressions.size(); listExpressions.add(exp); return i; } public static Expressions getExpressions(int i) { return listExpressions.get(i); } public static Object first(Object obj) { return Luan.first(obj); } public static int len(LuanStateImpl luan,Object o) throws LuanException { if( o instanceof String ) { String s = (String)o; return s.length(); } if( o instanceof byte[] ) { byte[] a = (byte[])o; return a.length; } if( o instanceof LuanTable ) { LuanTable t = (LuanTable)o; return t.length(luan); } throw new LuanException( "attempt to get length of a " + Luan.type(o) + " value" ); } }