public Varargs invoke(Varargs args) { return args.arg1().checktable().remove(args.optint(2, 0)); } }
public Varargs invoke(Varargs args) { LuaString s = args.checkstring(1); int l = s.m_length; int posi = posrelat( args.optint(2,1), l ); int pose = posrelat( args.optint(3,posi), l ); int n,i; if (posi <= 0) posi = 1; if (pose > l) pose = l; if (posi > pose) return NONE; /* empty interval; return no values */ n = (int)(pose - posi + 1); if (posi + n <= pose) /* overflow? */ error("string slice too long"); LuaValue[] v = new LuaValue[n]; for (i=0; i<n; i++) v[i] = valueOf(s.luaByte(posi+i-1)); return varargsOf(v); } }
public Varargs invoke(Varargs args) { return args.arg1().checktable().remove(args.optint(2, 0)); } }
public Varargs invoke(Varargs args) { LuaString s = args.checkstring(1); int l = s.m_length; int posi = posrelat( args.optint(2,1), l ); int pose = posrelat( args.optint(3,posi), l ); int n,i; if (posi <= 0) posi = 1; if (pose > l) pose = l; if (posi > pose) return NONE; /* empty interval; return no values */ n = (int)(pose - posi + 1); if (posi + n <= pose) /* overflow? */ error("string slice too long"); LuaValue[] v = new LuaValue[n]; for (i=0; i<n; i++) v[i] = valueOf(s.luaByte(posi+i-1)); return varargsOf(v); } }
public Varargs invoke(Varargs args) { int a=1; LuaThread t = args.isthread(a)? args.checkthread(a++): globals.running; LuaValue func = args.optfunction(a++, null); String str = args.optjstring(a++,""); int count = args.optint(a++,0); boolean call=false,line=false,rtrn=false; for ( int i=0; i<str.length(); i++ ) switch ( str.charAt(i) ) { case 'c': call=true; break; case 'l': line=true; break; case 'r': rtrn=true; break; } LuaThread.State s = t.state; s.hookfunc = func; s.hookcall = call; s.hookline = line; s.hookcount = count; s.hookrtrn = rtrn; return NONE; } }
@Override public Varargs invoke(Varargs args) { int a=1; LuaThread t = args.isthread(a)? args.checkthread(a++): globals.running; LuaValue func = args.optfunction(a++, null); String str = args.optjstring(a++,""); int count = args.optint(a++,0); boolean call=false,line=false,rtrn=false; for ( int i=0; i<str.length(); i++ ) switch ( str.charAt(i) ) { case 'c': call=true; break; case 'l': line=true; break; case 'r': rtrn=true; break; } t.hookfunc = func; t.hookcall = call; t.hookline = line; t.hookcount = count; t.hookrtrn = rtrn; return NONE; } }
public Varargs invoke(Varargs args) { int a=1; LuaThread t = args.isthread(a)? args.checkthread(a++): globals.running; LuaValue func = args.optfunction(a++, null); String str = args.optjstring(a++,""); int count = args.optint(a++,0); boolean call=false,line=false,rtrn=false; for ( int i=0; i<str.length(); i++ ) switch ( str.charAt(i) ) { case 'c': call=true; break; case 'l': line=true; break; case 'r': rtrn=true; break; } LuaThread.State s = t.state; s.hookfunc = func; s.hookcall = call; s.hookline = line; s.hookcount = count; s.hookrtrn = rtrn; return NONE; } }
public Varargs invoke(Varargs args) { final LuaString s = args.checkstring( 1 ); final int l = s.length(); int start = posrelat( args.checkint( 2 ), l ); int end = posrelat( args.optint( 3, -1 ), l ); if ( start < 1 ) start = 1; if ( end > l ) end = l; if ( start <= end ) { return s.substring( start-1 , end ); } else { return EMPTYSTRING; } } }
public Varargs invoke(Varargs args) { final LuaString s = args.checkstring( 1 ); final int l = s.length(); int start = posrelat( args.checkint( 2 ), l ); int end = posrelat( args.optint( 3, -1 ), l ); if ( start < 1 ) start = 1; if ( end > l ) end = l; if ( start <= end ) { return s.substring( start-1 , end ); } else { return EMPTYSTRING; } } }
/** * string.byte (s [, i [, j]]) * * Returns the internal numerical codes of the * characters s[i], s[i+1], ..., s[j]. The default value for i is 1; the * default value for j is i. * * Note that numerical codes are not necessarily portable across platforms. * * @param args the calling args */ static Varargs byte_( Varargs args ) { LuaString s = args.checkstring(1); int l = s.m_length; int posi = posrelat( args.optint(2,1), l ); int pose = posrelat( args.optint(3,posi), l ); int n,i; if (posi <= 0) posi = 1; if (pose > l) pose = l; if (posi > pose) return NONE; /* empty interval; return no values */ n = pose - posi + 1; if (posi + n <= pose) /* overflow? */ error("string slice too long"); LuaValue[] v = new LuaValue[n]; for (i=0; i<n; i++) v[i] = valueOf(s.luaByte(posi+i-1)); return varargsOf(v); }
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); } }
@Override 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); } }
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); } }
public Varargs invoke(Varargs args) { switch ( opcode ) { case 0: return Bit32Lib.band( args ); case 1: return Bit32Lib.bnot( args ); case 2: return Bit32Lib.bor( args ); case 3: return Bit32Lib.btest( args ); case 4: return Bit32Lib.bxor( args ); case 5: return Bit32Lib.extract( args.checkint(1), args.checkint(2), args.optint(3, 1) ); case 6: return Bit32Lib.replace( args.checkint(1), args.checkint(2), args.checkint(3), args.optint(4, 1) ); } return NIL; } }
public Varargs invoke(Varargs args) { switch ( opcode ) { case 0: return Bit32Lib.band( args ); case 1: return Bit32Lib.bnot( args ); case 2: return Bit32Lib.bor( args ); case 3: return Bit32Lib.btest( args ); case 4: return Bit32Lib.bxor( args ); case 5: return Bit32Lib.extract( args.checkint(1), args.checkint(2), args.optint(3, 1) ); case 6: return Bit32Lib.replace( args.checkint(1), args.checkint(2), args.checkint(3), args.optint(4, 1) ); } return NIL; } }
@Override public Varargs invoke(Varargs args) { switch ( opcode ) { case 0: return Bit32Lib.band( args ); case 1: return Bit32Lib.bnot( args ); case 2: return Bit32Lib.bor( args ); case 3: return Bit32Lib.btest( args ); case 4: return Bit32Lib.bxor( args ); case 5: return Bit32Lib.extract( args.checkint(1), args.checkint(2), args.optint(3, 1) ); case 6: return Bit32Lib.replace( args.checkint(1), args.checkint(2), args.checkint(3), args.optint(4, 1) ); } return NIL; } }
/** * string.sub (s, i [, j]) * * Returns the substring of s that starts at i and continues until j; * i and j may be negative. If j is absent, then it is assumed to be equal to -1 * (which is the same as the string length). In particular, the call * string.sub(s,1,j) * returns a prefix of s with length j, and * string.sub(s, -i) * returns a suffix of s with length i. */ static Varargs sub( Varargs args ) { final LuaString s = args.checkstring( 1 ); final int l = s.length(); int start = posrelat( args.checkint( 2 ), l ); int end = posrelat( args.optint( 3, -1 ), l ); if ( start < 1 ) start = 1; if ( end > l ) end = l; if ( start <= end ) { return s.substring( start-1 , end ); } else { return EMPTYSTRING; } }
LuaString p = args.checkstring( 2 ); LuaValue repl = args.arg( 3 ); int max_s = args.optint( 4, srclen + 1 ); final boolean anchor = p.length() > 0 && p.charAt( 0 ) == '^';
case FILE_SETVBUF: return iolib._file_setvbuf(args.arg1(),args.checkjstring(2),args.optint(3,1024)); case FILE_LINES: return iolib._file_lines(args.arg1()); case FILE_READ: return iolib._file_read(args.arg1(),args.subargs(2)); case FILE_SEEK: return iolib._file_seek(args.arg1(),args.optjstring(2,"cur"),args.optint(3,0)); case FILE_WRITE: return iolib._file_write(args.arg1(),args.subargs(2));
case FILE_SETVBUF: return iolib._file_setvbuf(args.arg1(),args.checkjstring(2),args.optint(3,1024)); case FILE_LINES: return iolib._file_lines(args.arg1()); case FILE_READ: return iolib._file_read(args.arg1(),args.subargs(2)); case FILE_SEEK: return iolib._file_seek(args.arg1(),args.optjstring(2,"cur"),args.optint(3,0)); case FILE_WRITE: return iolib._file_write(args.arg1(),args.subargs(2));