public Varargs invoke(Varargs args) { return args.checktable(1).next(args.arg(2)); } }
static class max extends VarArgFunction { public Varargs invoke(Varargs args) { double m = args.checkdouble(1); for ( int i=2,n=args.narg(); i<=n; ++i ) m = Math.max(m,args.checkdouble(i)); return valueOf(m); }
/** Return argument i as a LuaValue if it exists, or {@code defval}. * @param i the index of the argument to test, 1 is the first argument * @return LuaValue value if the argument exists, defval if not * @exception LuaError if the argument does not exist. * */ public LuaValue optvalue(int i, LuaValue defval) { return i>0 && i<=narg()? arg(i): defval; }
public Varargs invoke(Varargs args) { args.argcheck(args.isstring(1) || args.isnil(1), 1, "filename must be string or nil"); String filename = args.isstring(1)? args.tojstring(1): null; String mode = args.optjstring(2, "bt"); LuaValue env = args.optvalue(3, globals); return filename == null? loadStream( globals.STDIN, "=stdin", mode, env ): loadFile( filename, mode, env ); } }
public Varargs invoke(Varargs args) { if ( !args.arg1().toboolean() ) error( args.narg()>1? args.optjstring(2,"assertion failed!"): "assertion failed!" ); return args; } }
public Varargs invoke(Varargs args) { LuaTable t = args.checktable(1); switch (args.narg()) { case 1: return t.unpack(); case 2: return t.unpack(args.checkint(2)); default: return t.unpack(args.checkint(2), args.checkint(3)); } } }
public Varargs invoke(Varargs args) { args.argcheck(args.isstring(1) || args.isnil(1), 1, "filename must be string or nil"); String filename = args.isstring(1) ? args.tojstring(1) : null; Varargs v = filename == null ? loadStream(globals.STDIN, "=stdin", "bt", globals) : loadFile(args.checkjstring(1), "bt", globals); return v.isnil(1) ? error(v.tojstring(2)) : v.arg1().invoke(); } }
public final LuaValue call(LuaValue arg) { LuaValue[] stack = new LuaValue[p.maxstacksize]; System.arraycopy(NILS, 0, stack, 0, p.maxstacksize); for (int i = 1; i < p.numparams; ++i ) stack[i] = NIL; switch ( p.numparams ) { default: stack[0]=arg; return execute(stack,NONE).arg1(); case 0: return execute(stack,arg).arg1(); } }
public LuaValue arg(int i) { i += start-1; return i>=start && i<=end? v.arg(i): LuaValue.NIL; } public LuaValue arg1() {
public Varargs invoke(Varargs args) { int a=1; LuaThread thread = args.isthread(a)? args.checkthread(a++): globals.running; int level = args.checkint(a++); int local = args.checkint(a++); LuaValue value = args.arg(a++); CallFrame f = callstack(thread).getCallFrame(level); return f != null? f.setLocal(local, value): NONE; } }
public Varargs invoke(Varargs args) { LuaValue ld = args.arg1(); args.argcheck(ld.isstring() || ld.isfunction(), 1, "ld must be string or function"); String source = args.optjstring(2, ld.isstring()? ld.tojstring(): "=(load)"); String mode = args.optjstring(3, "bt"); LuaValue env = args.optvalue(4, globals); return loadStream(ld.isstring()? ld.strvalue().toInputStream(): new StringInputStream(ld.checkfunction()), source, mode, env); } }
public Varargs invoke(Varargs args) { Object o = args.checkuserdata(1); LuaValue v = args.checkvalue(2); LuaUserdata u = (LuaUserdata) args.arg1(); u.m_instance = v.checkuserdata(); u.m_metatable = v.getmetatable(); return NONE; } }
public Varargs invoke(Varargs args) { int a=1; LuaThread thread = args.isthread(a)? args.checkthread(a++): globals.running; String message = args.optjstring(a++, null); int level = args.optint(a++,1); String tb = callstack(thread).traceback(level); return valueOf(message!=null? message+"\n"+tb: tb); } }
private static Varargs iowrite(File f, Varargs args) throws IOException { for ( int i=1, n=args.narg(); i<=n; i++ ) f.write( args.checkstring(i) ); return f; }
public Varargs invoke(Varargs args) { int a=1; LuaThread thread = args.isthread(a)? args.checkthread(a++): globals.running; int level = args.checkint(a++); int local = args.checkint(a++); CallFrame f = callstack(thread).getCallFrame(level); return f != null? f.getLocal(local): NONE; } }