All Downloads are FREE. Search and download functionalities are using the official Maven repository.

party.iroiro.luajava.Lua51Natives Maven / Gradle / Ivy

There is a newer version: 4.0.2
Show newest version
package party.iroiro.luajava;

import java.util.concurrent.atomic.AtomicBoolean;
import java.nio.Buffer;
import com.badlogic.gdx.utils.SharedLibraryLoader;

/**
 * Lua C API wrappers
 *
 * 

* This file is programmatically generated from the Lua 5.1 Reference Manual. *

*

* The following functions are excluded: *

    *
  • luaL_addchar
  • *
  • luaL_addlstring
  • *
  • luaL_addsize
  • *
  • luaL_addstring
  • *
  • luaL_addvalue
  • *
  • luaL_argcheck
  • *
  • luaL_argerror
  • *
  • luaL_buffinit
  • *
  • luaL_checkany
  • *
  • luaL_checkint
  • *
  • luaL_checkinteger
  • *
  • luaL_checklong
  • *
  • luaL_checklstring
  • *
  • luaL_checknumber
  • *
  • luaL_checkoption
  • *
  • luaL_checkstack
  • *
  • luaL_checkstring
  • *
  • luaL_checktype
  • *
  • luaL_checkudata
  • *
  • luaL_dofile
  • *
  • luaL_error
  • *
  • luaL_loadbuffer
  • *
  • luaL_loadfile
  • *
  • luaL_optint
  • *
  • luaL_optinteger
  • *
  • luaL_optlong
  • *
  • luaL_optlstring
  • *
  • luaL_optnumber
  • *
  • luaL_optstring
  • *
  • luaL_prepbuffer
  • *
  • luaL_pushresult
  • *
  • luaL_register
  • *
  • lua_atpanic
  • *
  • lua_call
  • *
  • lua_cpcall
  • *
  • lua_dump
  • *
  • lua_getallocf
  • *
  • lua_gethook
  • *
  • lua_getinfo
  • *
  • lua_getlocal
  • *
  • lua_getstack
  • *
  • lua_load
  • *
  • lua_newstate
  • *
  • lua_pushcclosure
  • *
  • lua_pushcfunction
  • *
  • lua_pushfstring
  • *
  • lua_pushliteral
  • *
  • lua_pushlstring
  • *
  • lua_pushvfstring
  • *
  • lua_register
  • *
  • lua_setallocf
  • *
  • lua_sethook
  • *
  • lua_setlocal
  • *
  • lua_tocfunction
  • *
  • lua_tolstring
  • *
*/ @SuppressWarnings("unused") public class Lua51Natives extends LuaNative { /*JNI #include "luacustomamalg.h" #include "lua.hpp" #include "jni.h" #include "jua.h" #include "luacomp.h" #include "juaapi.h" #include "jualib.h" #include "juaamalg.h" #include "luacustom.h" */ private final static AtomicBoolean loaded = new AtomicBoolean(false); protected Lua51Natives() throws IllegalStateException { synchronized (loaded) { if (loaded.get()) { return; } try { new SharedLibraryLoader().load("lua51"); if (initBindings() != 0) { throw new RuntimeException("Unable to init bindings"); } loaded.set(true); } catch (Throwable e) { throw new IllegalStateException(e); } } } private native static int initBindings() throws Exception; /* return (jint) initLua51Bindings(env); */ /** * Get LUA_REGISTRYINDEX, which is a computed compile time constant */ protected native int getRegistryIndex(); /* return LUA_REGISTRYINDEX; */ /** * Wrapper of lua_checkstack * *

     * [-0, +0, m]
     * 
* *

     * int lua_checkstack (lua_State *L, int extra);
     * 
* *

* Ensures that there are at least extra free stack slots in the stack. * It returns false if it cannot grow the stack to that size. * This function never shrinks the stack; * if the stack is already larger than the new size, * it is left unchanged. *

* * @param ptr the lua_State* pointer * @param extra extra slots * @return see description */ protected native int lua_checkstack(long ptr, int extra); /* lua_State * L = (lua_State *) ptr; jint returnValueReceiver = (jint) lua_checkstack((lua_State *) L, (int) extra); return returnValueReceiver; */ /** * Wrapper of lua_close * *

     * [-0, +0, -]
     * 
* *

     * void lua_close (lua_State *L);
     * 
* *

* Destroys all objects in the given Lua state * (calling the corresponding garbage-collection metamethods, if any) * and frees all dynamic memory used by this state. * On several platforms, you may not need to call this function, * because all resources are naturally released when the host program ends. * On the other hand, long-running programs, * such as a daemon or a web server, * might need to release states as soon as they are not needed, * to avoid growing too large. *

* * @param ptr the lua_State* pointer */ protected native void lua_close(long ptr); /* lua_State * L = (lua_State *) ptr; lua_close((lua_State *) L); */ /** * Wrapper of lua_concat * *

     * [-n, +1, e]
     * 
* *

     * void lua_concat (lua_State *L, int n);
     * 
* *

* Concatenates the n values at the top of the stack, * pops them, and leaves the result at the top. * If n is 1, the result is the single value on the stack * (that is, the function does nothing); * if n is 0, the result is the empty string. * Concatenation is performed following the usual semantics of Lua * (see §2.5.4). *

* * @param ptr the lua_State* pointer * @param n the number of elements */ protected native void lua_concat(long ptr, int n); /* lua_State * L = (lua_State *) ptr; lua_concat((lua_State *) L, (int) n); */ /** * Wrapper of lua_createtable * *

     * [-0, +1, m]
     * 
* *

     * void lua_createtable (lua_State *L, int narr, int nrec);
     * 
* *

* Creates a new empty table and pushes it onto the stack. * The new table has space pre-allocated * for narr array elements and nrec non-array elements. * This pre-allocation is useful when you know exactly how many elements * the table will have. * Otherwise you can use the function lua_newtable. *

* * @param ptr the lua_State* pointer * @param narr the number of pre-allocated array elements * @param nrec the number of pre-allocated non-array elements */ protected native void lua_createtable(long ptr, int narr, int nrec); /* lua_State * L = (lua_State *) ptr; lua_createtable((lua_State *) L, (int) narr, (int) nrec); */ /** * Wrapper of lua_equal * *

     * [-0, +0, e]
     * 
* *

     * int lua_equal (lua_State *L, int index1, int index2);
     * 
* *

* Returns 1 if the two values in acceptable indices index1 and * index2 are equal, * following the semantics of the Lua == operator * (that is, may call metamethods). * Otherwise returns 0. * Also returns 0 if any of the indices is non valid. *

* * @param ptr the lua_State* pointer * @param index1 the stack position of the first element * @param index2 the stack position of the second element * @return see description */ protected native int lua_equal(long ptr, int index1, int index2); /* lua_State * L = (lua_State *) ptr; jint returnValueReceiver = (jint) lua_equal((lua_State *) L, (int) index1, (int) index2); return returnValueReceiver; */ /** * Wrapper of lua_error * *

     * [-1, +0, v]
     * 
* *

     * int lua_error (lua_State *L);
     * 
* *

* Generates a Lua error. * The error message (which can actually be a Lua value of any type) * must be on the stack top. * This function does a long jump, * and therefore never returns. * (see luaL_error). *

* * @param ptr the lua_State* pointer * @return see description */ protected native int lua_error(long ptr); /* lua_State * L = (lua_State *) ptr; jint returnValueReceiver = (jint) lua_error((lua_State *) L); return returnValueReceiver; */ /** * Wrapper of lua_gc * *

     * [-0, +0, e]
     * 
* *

     * int lua_gc (lua_State *L, int what, int data);
     * 
* *

* Controls the garbage collector. *

* *

* This function performs several tasks, * according to the value of the parameter what: * *

* *
    * *
  • * LUA_GCSTOP: * stops the garbage collector. *
  • * *
  • * LUA_GCRESTART: * restarts the garbage collector. *
  • * *
  • * LUA_GCCOLLECT: * performs a full garbage-collection cycle. *
  • * *
  • * LUA_GCCOUNT: * returns the current amount of memory (in Kbytes) in use by Lua. *
  • * *
  • * LUA_GCCOUNTB: * returns the remainder of dividing the current amount of bytes of * memory in use by Lua by 1024. *
  • * *
  • * LUA_GCSTEP: * performs an incremental step of garbage collection. * The step "size" is controlled by data * (larger values mean more steps) in a non-specified way. * If you want to control the step size * you must experimentally tune the value of data. * The function returns 1 if the step finished a * garbage-collection cycle. *
  • * *
  • * LUA_GCSETPAUSE: * sets data as the new value * for the pause of the collector (see §2.10). * The function returns the previous value of the pause. *
  • * *
  • * LUA_GCSETSTEPMUL: * sets data as the new value for the step multiplier of * the collector (see §2.10). * The function returns the previous value of the step multiplier. *
  • * *
* * @param ptr the lua_State* pointer * @param what what * @param data data * @return see description */ protected native int lua_gc(long ptr, int what, int data); /* lua_State * L = (lua_State *) ptr; jint returnValueReceiver = (jint) lua_gc((lua_State *) L, (int) what, (int) data); return returnValueReceiver; */ /** * Wrapper of lua_getfenv * *

     * [-0, +1, -]
     * 
* *

     * void lua_getfenv (lua_State *L, int index);
     * 
* *

* Pushes onto the stack the environment table of * the value at the given index. *

* * @param ptr the lua_State* pointer * @param index the stack position of the element */ protected native void lua_getfenv(long ptr, int index); /* lua_State * L = (lua_State *) ptr; lua_getfenv((lua_State *) L, (int) index); */ /** * Wrapper of lua_getfield * *

     * [-0, +1, e]
     * 
* *

     * void lua_getfield (lua_State *L, int index, const char *k);
     * 
* *

* Pushes onto the stack the value t[k], * where t is the value at the given valid index. * As in Lua, this function may trigger a metamethod * for the "index" event (see §2.8). *

* * @param ptr the lua_State* pointer * @param index the stack position of the element * @param k the field name */ protected native void lua_getfield(long ptr, int index, String k); /* lua_State * L = (lua_State *) ptr; lua_getfield((lua_State *) L, (int) index, (const char *) k); */ /** * Wrapper of lua_getfield * *

     * [-0, +1, e]
     * 
* *

     * void lua_getfield (lua_State *L, int index, const char *k);
     * 
* *

* Pushes onto the stack the value t[k], * where t is the value at the given valid index. * As in Lua, this function may trigger a metamethod * for the "index" event (see §2.8). *

* * @param ptr the lua_State* pointer * @param index the stack position of the element * @param k the field name */ protected native void luaJ_getfield(long ptr, int index, String k); /* lua_State * L = (lua_State *) ptr; lua_getfield((lua_State *) L, (int) index, (const char *) k); */ /** * Wrapper of lua_getglobal * *

     * [-0, +1, e]
     * 
* *

     * void lua_getglobal (lua_State *L, const char *name);
     * 
* *

* Pushes onto the stack the value of the global name. * It is defined as a macro: * *

* *
     *      #define lua_getglobal(L,s)  lua_getfield(L, LUA_GLOBALSINDEX, s)
     * 
* * @param ptr the lua_State* pointer * @param name the name */ protected native void lua_getglobal(long ptr, String name); /* lua_State * L = (lua_State *) ptr; lua_getglobal((lua_State *) L, (const char *) name); */ /** * Wrapper of lua_getglobal * *

     * [-0, +1, e]
     * 
* *

     * void lua_getglobal (lua_State *L, const char *name);
     * 
* *

* Pushes onto the stack the value of the global name. * It is defined as a macro: * *

* *
     *      #define lua_getglobal(L,s)  lua_getfield(L, LUA_GLOBALSINDEX, s)
     * 
* * @param ptr the lua_State* pointer * @param name the name */ protected native void luaJ_getglobal(long ptr, String name); /* lua_State * L = (lua_State *) ptr; lua_getglobal((lua_State *) L, (const char *) name); */ /** * Wrapper of lua_getmetatable * *

     * [-0, +(0|1), -]
     * 
* *

     * int lua_getmetatable (lua_State *L, int index);
     * 
* *

* Pushes onto the stack the metatable of the value at the given * acceptable index. * If the index is not valid, * or if the value does not have a metatable, * the function returns 0 and pushes nothing on the stack. *

* * @param ptr the lua_State* pointer * @param index the stack position of the element * @return see description */ protected native int lua_getmetatable(long ptr, int index); /* lua_State * L = (lua_State *) ptr; jint returnValueReceiver = (jint) lua_getmetatable((lua_State *) L, (int) index); return returnValueReceiver; */ /** * Wrapper of lua_gettable * *

     * [-1, +1, e]
     * 
* *

     * void lua_gettable (lua_State *L, int index);
     * 
* *

* Pushes onto the stack the value t[k], * where t is the value at the given valid index * and k is the value at the top of the stack. *

* *

* This function pops the key from the stack * (putting the resulting value in its place). * As in Lua, this function may trigger a metamethod * for the "index" event (see §2.8). *

* * @param ptr the lua_State* pointer * @param index the stack position of the element */ protected native void lua_gettable(long ptr, int index); /* lua_State * L = (lua_State *) ptr; lua_gettable((lua_State *) L, (int) index); */ /** * Wrapper of lua_gettable * *

     * [-1, +1, e]
     * 
* *

     * void lua_gettable (lua_State *L, int index);
     * 
* *

* Pushes onto the stack the value t[k], * where t is the value at the given valid index * and k is the value at the top of the stack. *

* *

* This function pops the key from the stack * (putting the resulting value in its place). * As in Lua, this function may trigger a metamethod * for the "index" event (see §2.8). *

* * @param ptr the lua_State* pointer * @param index the stack position of the element */ protected native void luaJ_gettable(long ptr, int index); /* lua_State * L = (lua_State *) ptr; lua_gettable((lua_State *) L, (int) index); */ /** * Wrapper of lua_gettop * *

     * [-0, +0, -]
     * 
* *

     * int lua_gettop (lua_State *L);
     * 
* *

* Returns the index of the top element in the stack. * Because indices start at 1, * this result is equal to the number of elements in the stack * (and so 0 means an empty stack). *

* * @param ptr the lua_State* pointer * @return see description */ protected native int lua_gettop(long ptr); /* lua_State * L = (lua_State *) ptr; jint returnValueReceiver = (jint) lua_gettop((lua_State *) L); return returnValueReceiver; */ /** * Wrapper of lua_insert * *

     * [-1, +1, -]
     * 
* *

     * void lua_insert (lua_State *L, int index);
     * 
* *

* Moves the top element into the given valid index, * shifting up the elements above this index to open space. * Cannot be called with a pseudo-index, * because a pseudo-index is not an actual stack position. *

* * @param ptr the lua_State* pointer * @param index the stack position of the element */ protected native void lua_insert(long ptr, int index); /* lua_State * L = (lua_State *) ptr; lua_insert((lua_State *) L, (int) index); */ /** * Wrapper of lua_isboolean * *

     * [-0, +0, -]
     * 
* *

     * int lua_isboolean (lua_State *L, int index);
     * 
* *

* Returns 1 if the value at the given acceptable index has type boolean, * and 0 otherwise. *

* * @param ptr the lua_State* pointer * @param index the stack position of the element * @return see description */ protected native int lua_isboolean(long ptr, int index); /* lua_State * L = (lua_State *) ptr; jint returnValueReceiver = (jint) lua_isboolean((lua_State *) L, (int) index); return returnValueReceiver; */ /** * Wrapper of lua_iscfunction * *

     * [-0, +0, -]
     * 
* *

     * int lua_iscfunction (lua_State *L, int index);
     * 
* *

* Returns 1 if the value at the given acceptable index is a C function, * and 0 otherwise. *

* * @param ptr the lua_State* pointer * @param index the stack position of the element * @return see description */ protected native int lua_iscfunction(long ptr, int index); /* lua_State * L = (lua_State *) ptr; jint returnValueReceiver = (jint) lua_iscfunction((lua_State *) L, (int) index); return returnValueReceiver; */ /** * Wrapper of lua_isfunction * *

     * [-0, +0, -]
     * 
* *

     * int lua_isfunction (lua_State *L, int index);
     * 
* *

* Returns 1 if the value at the given acceptable index is a function * (either C or Lua), and 0 otherwise. *

* * @param ptr the lua_State* pointer * @param index the stack position of the element * @return see description */ protected native int lua_isfunction(long ptr, int index); /* lua_State * L = (lua_State *) ptr; jint returnValueReceiver = (jint) lua_isfunction((lua_State *) L, (int) index); return returnValueReceiver; */ /** * Wrapper of lua_islightuserdata * *

     * [-0, +0, -]
     * 
* *

     * int lua_islightuserdata (lua_State *L, int index);
     * 
* *

* Returns 1 if the value at the given acceptable index is a light userdata, * and 0 otherwise. *

* * @param ptr the lua_State* pointer * @param index the stack position of the element * @return see description */ protected native int lua_islightuserdata(long ptr, int index); /* lua_State * L = (lua_State *) ptr; jint returnValueReceiver = (jint) lua_islightuserdata((lua_State *) L, (int) index); return returnValueReceiver; */ /** * Wrapper of lua_isnil * *

     * [-0, +0, -]
     * 
* *

     * int lua_isnil (lua_State *L, int index);
     * 
* *

* Returns 1 if the value at the given acceptable index is nil, * and 0 otherwise. *

* * @param ptr the lua_State* pointer * @param index the stack position of the element * @return see description */ protected native int lua_isnil(long ptr, int index); /* lua_State * L = (lua_State *) ptr; jint returnValueReceiver = (jint) lua_isnil((lua_State *) L, (int) index); return returnValueReceiver; */ /** * Wrapper of lua_isnone * *

     * [-0, +0, -]
     * 
* *

     * int lua_isnone (lua_State *L, int index);
     * 
* *

* Returns 1 if the given acceptable index is not valid * (that is, it refers to an element outside the current stack), * and 0 otherwise. *

* * @param ptr the lua_State* pointer * @param index the stack position of the element * @return see description */ protected native int lua_isnone(long ptr, int index); /* lua_State * L = (lua_State *) ptr; jint returnValueReceiver = (jint) lua_isnone((lua_State *) L, (int) index); return returnValueReceiver; */ /** * Wrapper of lua_isnoneornil * *

     * [-0, +0, -]
     * 
* *

     * int lua_isnoneornil (lua_State *L, int index);
     * 
* *

* Returns 1 if the given acceptable index is not valid * (that is, it refers to an element outside the current stack) * or if the value at this index is nil, * and 0 otherwise. *

* * @param ptr the lua_State* pointer * @param index the stack position of the element * @return see description */ protected native int lua_isnoneornil(long ptr, int index); /* lua_State * L = (lua_State *) ptr; jint returnValueReceiver = (jint) lua_isnoneornil((lua_State *) L, (int) index); return returnValueReceiver; */ /** * Wrapper of lua_isnumber * *

     * [-0, +0, -]
     * 
* *

     * int lua_isnumber (lua_State *L, int index);
     * 
* *

* Returns 1 if the value at the given acceptable index is a number * or a string convertible to a number, * and 0 otherwise. *

* * @param ptr the lua_State* pointer * @param index the stack position of the element * @return see description */ protected native int lua_isnumber(long ptr, int index); /* lua_State * L = (lua_State *) ptr; jint returnValueReceiver = (jint) lua_isnumber((lua_State *) L, (int) index); return returnValueReceiver; */ /** * Wrapper of lua_isstring * *

     * [-0, +0, -]
     * 
* *

     * int lua_isstring (lua_State *L, int index);
     * 
* *

* Returns 1 if the value at the given acceptable index is a string * or a number (which is always convertible to a string), * and 0 otherwise. *

* * @param ptr the lua_State* pointer * @param index the stack position of the element * @return see description */ protected native int lua_isstring(long ptr, int index); /* lua_State * L = (lua_State *) ptr; jint returnValueReceiver = (jint) lua_isstring((lua_State *) L, (int) index); return returnValueReceiver; */ /** * Wrapper of lua_istable * *

     * [-0, +0, -]
     * 
* *

     * int lua_istable (lua_State *L, int index);
     * 
* *

* Returns 1 if the value at the given acceptable index is a table, * and 0 otherwise. *

* * @param ptr the lua_State* pointer * @param index the stack position of the element * @return see description */ protected native int lua_istable(long ptr, int index); /* lua_State * L = (lua_State *) ptr; jint returnValueReceiver = (jint) lua_istable((lua_State *) L, (int) index); return returnValueReceiver; */ /** * Wrapper of lua_isthread * *

     * [-0, +0, -]
     * 
* *

     * int lua_isthread (lua_State *L, int index);
     * 
* *

* Returns 1 if the value at the given acceptable index is a thread, * and 0 otherwise. *

* * @param ptr the lua_State* pointer * @param index the stack position of the element * @return see description */ protected native int lua_isthread(long ptr, int index); /* lua_State * L = (lua_State *) ptr; jint returnValueReceiver = (jint) lua_isthread((lua_State *) L, (int) index); return returnValueReceiver; */ /** * Wrapper of lua_isuserdata * *

     * [-0, +0, -]
     * 
* *

     * int lua_isuserdata (lua_State *L, int index);
     * 
* *

* Returns 1 if the value at the given acceptable index is a userdata * (either full or light), and 0 otherwise. *

* * @param ptr the lua_State* pointer * @param index the stack position of the element * @return see description */ protected native int lua_isuserdata(long ptr, int index); /* lua_State * L = (lua_State *) ptr; jint returnValueReceiver = (jint) lua_isuserdata((lua_State *) L, (int) index); return returnValueReceiver; */ /** * Wrapper of lua_lessthan * *

     * [-0, +0, e]
     * 
* *

     * int lua_lessthan (lua_State *L, int index1, int index2);
     * 
* *

* Returns 1 if the value at acceptable index index1 is smaller * than the value at acceptable index index2, * following the semantics of the Lua < operator * (that is, may call metamethods). * Otherwise returns 0. * Also returns 0 if any of the indices is non valid. *

* * @param ptr the lua_State* pointer * @param index1 the stack position of the first element * @param index2 the stack position of the second element * @return see description */ protected native int lua_lessthan(long ptr, int index1, int index2); /* lua_State * L = (lua_State *) ptr; jint returnValueReceiver = (jint) lua_lessthan((lua_State *) L, (int) index1, (int) index2); return returnValueReceiver; */ /** * Wrapper of lua_newtable * *

     * [-0, +1, m]
     * 
* *

     * void lua_newtable (lua_State *L);
     * 
* *

* Creates a new empty table and pushes it onto the stack. * It is equivalent to lua_createtable(L, 0, 0). *

* * @param ptr the lua_State* pointer */ protected native void lua_newtable(long ptr); /* lua_State * L = (lua_State *) ptr; lua_newtable((lua_State *) L); */ /** * Wrapper of lua_newthread * *

     * [-0, +1, m]
     * 
* *

     * lua_State *lua_newthread (lua_State *L);
     * 
* *

* Creates a new thread, pushes it on the stack, * and returns a pointer to a lua_State that represents this new thread. * The new state returned by this function shares with the original state * all global objects (such as tables), * but has an independent execution stack. *

* *

* There is no explicit function to close or to destroy a thread. * Threads are subject to garbage collection, * like any Lua object. *

* * @param ptr the lua_State* pointer * @return see description */ protected native long lua_newthread(long ptr); /* lua_State * L = (lua_State *) ptr; jlong returnValueReceiver = (jlong) lua_newthread((lua_State *) L); return returnValueReceiver; */ /** * Wrapper of lua_newuserdata * *

     * [-0, +1, m]
     * 
* *

     * void *lua_newuserdata (lua_State *L, size_t size);
     * 
* *

* This function allocates a new block of memory with the given size, * pushes onto the stack a new full userdata with the block address, * and returns this address. *

* *

* Userdata represent C values in Lua. * A full userdata represents a block of memory. * It is an object (like a table): * you must create it, it can have its own metatable, * and you can detect when it is being collected. * A full userdata is only equal to itself (under raw equality). *

* *

* When Lua collects a full userdata with a gc metamethod, * Lua calls the metamethod and marks the userdata as finalized. * When this userdata is collected again then * Lua frees its corresponding memory. *

* * @param ptr the lua_State* pointer * @param size size * @return see description */ protected native long lua_newuserdata(long ptr, int size); /* lua_State * L = (lua_State *) ptr; jlong returnValueReceiver = (jlong) lua_newuserdata((lua_State *) L, (size_t) size); return returnValueReceiver; */ /** * Wrapper of lua_next * *

     * [-1, +(2|0), e]
     * 
* *

     * int lua_next (lua_State *L, int index);
     * 
* *

* Pops a key from the stack, * and pushes a key-value pair from the table at the given index * (the "next" pair after the given key). * If there are no more elements in the table, * then lua_next returns 0 (and pushes nothing). *

* *

* A typical traversal looks like this: * *

* *
     *      /* table is in the stack at index 't' */
     *      lua_pushnil(L);  /* first key */
     *      while (lua_next(L, t) != 0) {
     *        /* uses 'key' (at index -2) and 'value' (at index -1) */
     *        printf("%s - %s\n",
     *               lua_typename(L, lua_type(L, -2)),
     *               lua_typename(L, lua_type(L, -1)));
     *        /* removes 'value'; keeps 'key' for next iteration */
     *        lua_pop(L, 1);
     *      }
     * 
* *

* While traversing a table, * do not call lua_tolstring directly on a key, * unless you know that the key is actually a string. * Recall that lua_tolstring changes * the value at the given index; * this confuses the next call to lua_next. *

* * @param ptr the lua_State* pointer * @param index the stack position of the element * @return see description */ protected native int lua_next(long ptr, int index); /* lua_State * L = (lua_State *) ptr; jint returnValueReceiver = (jint) lua_next((lua_State *) L, (int) index); return returnValueReceiver; */ /** * Wrapper of lua_objlen * *

     * [-0, +0, -]
     * 
* *

     * size_t lua_objlen (lua_State *L, int index);
     * 
* *

* Returns the "length" of the value at the given acceptable index: * for strings, this is the string length; * for tables, this is the result of the length operator ('#'); * for userdata, this is the size of the block of memory allocated * for the userdata; * for other values, it is 0. *

* * @param ptr the lua_State* pointer * @param index the stack position of the element * @return see description */ protected native int lua_objlen(long ptr, int index); /* lua_State * L = (lua_State *) ptr; jint returnValueReceiver = (jint) lua_objlen((lua_State *) L, (int) index); return returnValueReceiver; */ /** * Wrapper of lua_pcall * *

     * [-(nargs + 1), +(nresults|1), -]
     * 
* *

     * int lua_pcall (lua_State *L, int nargs, int nresults, int errfunc);
     * 
* *

* Calls a function in protected mode. *

* *

* Both nargs and nresults have the same meaning as * in lua_call. * If there are no errors during the call, * lua_pcall behaves exactly like lua_call. * However, if there is any error, * lua_pcall catches it, * pushes a single value on the stack (the error message), * and returns an error code. * Like lua_call, * lua_pcall always removes the function * and its arguments from the stack. *

* *

* If errfunc is 0, * then the error message returned on the stack * is exactly the original error message. * Otherwise, errfunc is the stack index of an * error handler function. * (In the current implementation, this index cannot be a pseudo-index.) * In case of runtime errors, * this function will be called with the error message * and its return value will be the message returned on the stack by lua_pcall. *

* *

* Typically, the error handler function is used to add more debug * information to the error message, such as a stack traceback. * Such information cannot be gathered after the return of lua_pcall, * since by then the stack has unwound. *

* *

* The lua_pcall function returns 0 in case of success * or one of the following error codes * (defined in lua.h): * *

* *
    * *
  • * LUA_ERRRUN: * a runtime error. *
  • * *
  • * LUA_ERRMEM: * memory allocation error. * For such errors, Lua does not call the error handler function. *
  • * *
  • * LUA_ERRERR: * error while running the error handler function. *
  • * *
* * @param ptr the lua_State* pointer * @param nargs the number of arguments that you pushed onto the stack * @param nresults the number of results, or LUA_MULTRET * @param errfunc 0 or the stack index of an error handler function * @return see description */ protected native int lua_pcall(long ptr, int nargs, int nresults, int errfunc); /* lua_State * L = (lua_State *) ptr; jint returnValueReceiver = (jint) lua_pcall((lua_State *) L, (int) nargs, (int) nresults, (int) errfunc); return returnValueReceiver; */ /** * Wrapper of lua_pcall * *

     * [-(nargs + 1), +(nresults|1), -]
     * 
* *

     * int lua_pcall (lua_State *L, int nargs, int nresults, int errfunc);
     * 
* *

* Calls a function in protected mode. *

* *

* Both nargs and nresults have the same meaning as * in lua_call. * If there are no errors during the call, * lua_pcall behaves exactly like lua_call. * However, if there is any error, * lua_pcall catches it, * pushes a single value on the stack (the error message), * and returns an error code. * Like lua_call, * lua_pcall always removes the function * and its arguments from the stack. *

* *

* If errfunc is 0, * then the error message returned on the stack * is exactly the original error message. * Otherwise, errfunc is the stack index of an * error handler function. * (In the current implementation, this index cannot be a pseudo-index.) * In case of runtime errors, * this function will be called with the error message * and its return value will be the message returned on the stack by lua_pcall. *

* *

* Typically, the error handler function is used to add more debug * information to the error message, such as a stack traceback. * Such information cannot be gathered after the return of lua_pcall, * since by then the stack has unwound. *

* *

* The lua_pcall function returns 0 in case of success * or one of the following error codes * (defined in lua.h): * *

* *
    * *
  • * LUA_ERRRUN: * a runtime error. *
  • * *
  • * LUA_ERRMEM: * memory allocation error. * For such errors, Lua does not call the error handler function. *
  • * *
  • * LUA_ERRERR: * error while running the error handler function. *
  • * *
* * @param ptr the lua_State* pointer * @param nargs the number of arguments that you pushed onto the stack * @param nresults the number of results, or LUA_MULTRET * @param errfunc 0 or the stack index of an error handler function */ protected native void luaJ_pcall(long ptr, int nargs, int nresults, int errfunc); /* lua_State * L = (lua_State *) ptr; lua_pcall((lua_State *) L, (int) nargs, (int) nresults, (int) errfunc); */ /** * Wrapper of lua_pop * *

     * [-n, +0, -]
     * 
* *

     * void lua_pop (lua_State *L, int n);
     * 
* *

* Pops n elements from the stack. *

* * @param ptr the lua_State* pointer * @param n the number of elements */ protected native void lua_pop(long ptr, int n); /* lua_State * L = (lua_State *) ptr; lua_pop((lua_State *) L, (int) n); */ /** * Wrapper of lua_pushboolean * *

     * [-0, +1, -]
     * 
* *

     * void lua_pushboolean (lua_State *L, int b);
     * 
* *

* Pushes a boolean value with value b onto the stack. *

* * @param ptr the lua_State* pointer * @param b boolean */ protected native void lua_pushboolean(long ptr, int b); /* lua_State * L = (lua_State *) ptr; lua_pushboolean((lua_State *) L, (int) b); */ /** * Wrapper of lua_pushinteger * *

     * [-0, +1, -]
     * 
* *

     * void lua_pushinteger (lua_State *L, lua_Integer n);
     * 
* *

* Pushes a number with value n onto the stack. *

* * @param ptr the lua_State* pointer * @param n the number of elements */ protected native void lua_pushinteger(long ptr, int n); /* lua_State * L = (lua_State *) ptr; lua_pushinteger((lua_State *) L, (lua_Integer) n); */ /** * Wrapper of lua_pushlightuserdata * *

     * [-0, +1, -]
     * 
* *

     * void lua_pushlightuserdata (lua_State *L, void *p);
     * 
* *

* Pushes a light userdata onto the stack. *

* *

* Userdata represent C values in Lua. * A light userdata represents a pointer. * It is a value (like a number): * you do not create it, it has no individual metatable, * and it is not collected (as it was never created). * A light userdata is equal to "any" * light userdata with the same C address. *

* * @param ptr the lua_State* pointer * @param p the pointer */ protected native void lua_pushlightuserdata(long ptr, long p); /* lua_State * L = (lua_State *) ptr; lua_pushlightuserdata((lua_State *) L, (void *) p); */ /** * Wrapper of lua_pushnil * *

     * [-0, +1, -]
     * 
* *

     * void lua_pushnil (lua_State *L);
     * 
* *

* Pushes a nil value onto the stack. *

* * @param ptr the lua_State* pointer */ protected native void lua_pushnil(long ptr); /* lua_State * L = (lua_State *) ptr; lua_pushnil((lua_State *) L); */ /** * Wrapper of lua_pushnumber * *

     * [-0, +1, -]
     * 
* *

     * void lua_pushnumber (lua_State *L, lua_Number n);
     * 
* *

* Pushes a number with value n onto the stack. *

* * @param ptr the lua_State* pointer * @param n the number of elements */ protected native void lua_pushnumber(long ptr, double n); /* lua_State * L = (lua_State *) ptr; lua_pushnumber((lua_State *) L, (lua_Number) n); */ /** * Wrapper of lua_pushstring * *

     * [-0, +1, m]
     * 
* *

     * void lua_pushstring (lua_State *L, const char *s);
     * 
* *

* Pushes the zero-terminated string pointed to by s * onto the stack. * Lua makes (or reuses) an internal copy of the given string, * so the memory at s can be freed or reused immediately after * the function returns. * The string cannot contain embedded zeros; * it is assumed to end at the first zero. *

* * @param ptr the lua_State* pointer * @param s the string */ protected native void lua_pushstring(long ptr, String s); /* lua_State * L = (lua_State *) ptr; lua_pushstring((lua_State *) L, (const char *) s); */ /** * Wrapper of lua_pushstring * *

     * [-0, +1, m]
     * 
* *

     * void lua_pushstring (lua_State *L, const char *s);
     * 
* *

* Pushes the zero-terminated string pointed to by s * onto the stack. * Lua makes (or reuses) an internal copy of the given string, * so the memory at s can be freed or reused immediately after * the function returns. * The string cannot contain embedded zeros; * it is assumed to end at the first zero. *

* * @param ptr the lua_State* pointer * @param s the string */ protected native void luaJ_pushstring(long ptr, String s); /* lua_State * L = (lua_State *) ptr; lua_pushstring((lua_State *) L, (const char *) s); */ /** * Wrapper of lua_pushthread * *

     * [-0, +1, -]
     * 
* *

     * int lua_pushthread (lua_State *L);
     * 
* *

* Pushes the thread represented by L onto the stack. * Returns 1 if this thread is the main thread of its state. *

* * @param ptr the lua_State* pointer * @return see description */ protected native int lua_pushthread(long ptr); /* lua_State * L = (lua_State *) ptr; jint returnValueReceiver = (jint) lua_pushthread((lua_State *) L); return returnValueReceiver; */ /** * Wrapper of lua_pushvalue * *

     * [-0, +1, -]
     * 
* *

     * void lua_pushvalue (lua_State *L, int index);
     * 
* *

* Pushes a copy of the element at the given valid index * onto the stack. *

* * @param ptr the lua_State* pointer * @param index the stack position of the element */ protected native void lua_pushvalue(long ptr, int index); /* lua_State * L = (lua_State *) ptr; lua_pushvalue((lua_State *) L, (int) index); */ /** * Wrapper of lua_rawequal * *

     * [-0, +0, -]
     * 
* *

     * int lua_rawequal (lua_State *L, int index1, int index2);
     * 
* *

* Returns 1 if the two values in acceptable indices index1 and * index2 are primitively equal * (that is, without calling metamethods). * Otherwise returns 0. * Also returns 0 if any of the indices are non valid. *

* * @param ptr the lua_State* pointer * @param index1 the stack position of the first element * @param index2 the stack position of the second element * @return see description */ protected native int lua_rawequal(long ptr, int index1, int index2); /* lua_State * L = (lua_State *) ptr; jint returnValueReceiver = (jint) lua_rawequal((lua_State *) L, (int) index1, (int) index2); return returnValueReceiver; */ /** * Wrapper of lua_rawget * *

     * [-1, +1, -]
     * 
* *

     * void lua_rawget (lua_State *L, int index);
     * 
* *

* Similar to lua_gettable, but does a raw access * (i.e., without metamethods). *

* * @param ptr the lua_State* pointer * @param index the stack position of the element */ protected native void lua_rawget(long ptr, int index); /* lua_State * L = (lua_State *) ptr; lua_rawget((lua_State *) L, (int) index); */ /** * Wrapper of lua_rawget * *

     * [-1, +1, -]
     * 
* *

     * void lua_rawget (lua_State *L, int index);
     * 
* *

* Similar to lua_gettable, but does a raw access * (i.e., without metamethods). *

* * @param ptr the lua_State* pointer * @param index the stack position of the element */ protected native void luaJ_rawget(long ptr, int index); /* lua_State * L = (lua_State *) ptr; lua_rawget((lua_State *) L, (int) index); */ /** * Wrapper of lua_rawgeti * *

     * [-0, +1, -]
     * 
* *

     * void lua_rawgeti (lua_State *L, int index, int n);
     * 
* *

* Pushes onto the stack the value t[n], * where t is the value at the given valid index. * The access is raw; * that is, it does not invoke metamethods. *

* * @param ptr the lua_State* pointer * @param index the stack position of the element * @param n the number of elements */ protected native void lua_rawgeti(long ptr, int index, int n); /* lua_State * L = (lua_State *) ptr; lua_rawgeti((lua_State *) L, (int) index, (int) n); */ /** * Wrapper of lua_rawgeti * *

     * [-0, +1, -]
     * 
* *

     * void lua_rawgeti (lua_State *L, int index, int n);
     * 
* *

* Pushes onto the stack the value t[n], * where t is the value at the given valid index. * The access is raw; * that is, it does not invoke metamethods. *

* * @param ptr the lua_State* pointer * @param index the stack position of the element * @param n the number of elements */ protected native void luaJ_rawgeti(long ptr, int index, int n); /* lua_State * L = (lua_State *) ptr; lua_rawgeti((lua_State *) L, (int) index, (int) n); */ /** * Wrapper of lua_rawset * *

     * [-2, +0, m]
     * 
* *

     * void lua_rawset (lua_State *L, int index);
     * 
* *

* Similar to lua_settable, but does a raw assignment * (i.e., without metamethods). *

* * @param ptr the lua_State* pointer * @param index the stack position of the element */ protected native void lua_rawset(long ptr, int index); /* lua_State * L = (lua_State *) ptr; lua_rawset((lua_State *) L, (int) index); */ /** * Wrapper of lua_rawseti * *

     * [-1, +0, m]
     * 
* *

     * void lua_rawseti (lua_State *L, int index, int n);
     * 
* *

* Does the equivalent of t[n] = v, * where t is the value at the given valid index * and v is the value at the top of the stack. *

* *

* This function pops the value from the stack. * The assignment is raw; * that is, it does not invoke metamethods. *

* * @param ptr the lua_State* pointer * @param index the stack position of the element * @param n the number of elements */ protected native void lua_rawseti(long ptr, int index, int n); /* lua_State * L = (lua_State *) ptr; lua_rawseti((lua_State *) L, (int) index, (int) n); */ /** * Wrapper of lua_remove * *

     * [-1, +0, -]
     * 
* *

     * void lua_remove (lua_State *L, int index);
     * 
* *

* Removes the element at the given valid index, * shifting down the elements above this index to fill the gap. * Cannot be called with a pseudo-index, * because a pseudo-index is not an actual stack position. *

* * @param ptr the lua_State* pointer * @param index the stack position of the element */ protected native void lua_remove(long ptr, int index); /* lua_State * L = (lua_State *) ptr; lua_remove((lua_State *) L, (int) index); */ /** * Wrapper of lua_replace * *

     * [-1, +0, -]
     * 
* *

     * void lua_replace (lua_State *L, int index);
     * 
* *

* Moves the top element into the given position (and pops it), * without shifting any element * (therefore replacing the value at the given position). *

* * @param ptr the lua_State* pointer * @param index the stack position of the element */ protected native void lua_replace(long ptr, int index); /* lua_State * L = (lua_State *) ptr; lua_replace((lua_State *) L, (int) index); */ /** * Wrapper of lua_resume * *

     * [-?, +?, -]
     * 
* *

     * int lua_resume (lua_State *L, int narg);
     * 
* *

* Starts and resumes a coroutine in a given thread. *

* *

* To start a coroutine, you first create a new thread * (see lua_newthread); * then you push onto its stack the main function plus any arguments; * then you call lua_resume, * with narg being the number of arguments. * This call returns when the coroutine suspends or finishes its execution. * When it returns, the stack contains all values passed to lua_yield, * or all values returned by the body function. * lua_resume returns * LUA_YIELD if the coroutine yields, * 0 if the coroutine finishes its execution * without errors, * or an error code in case of errors (see lua_pcall). * In case of errors, * the stack is not unwound, * so you can use the debug API over it. * The error message is on the top of the stack. * To restart a coroutine, you put on its stack only the values to * be passed as results from yield, * and then call lua_resume. *

* * @param ptr the lua_State* pointer * @param narg the number of arguments * @return see description */ protected native int lua_resume(long ptr, int narg); /* lua_State * L = (lua_State *) ptr; jint returnValueReceiver = (jint) lua_resume((lua_State *) L, (int) narg); return returnValueReceiver; */ /** * Wrapper of lua_setfenv * *

     * [-1, +0, -]
     * 
* *

     * int lua_setfenv (lua_State *L, int index);
     * 
* *

* Pops a table from the stack and sets it as * the new environment for the value at the given index. * If the value at the given index is * neither a function nor a thread nor a userdata, * lua_setfenv returns 0. * Otherwise it returns 1. *

* * @param ptr the lua_State* pointer * @param index the stack position of the element * @return see description */ protected native int lua_setfenv(long ptr, int index); /* lua_State * L = (lua_State *) ptr; jint returnValueReceiver = (jint) lua_setfenv((lua_State *) L, (int) index); return returnValueReceiver; */ /** * Wrapper of lua_setfield * *

     * [-1, +0, e]
     * 
* *

     * void lua_setfield (lua_State *L, int index, const char *k);
     * 
* *

* Does the equivalent to t[k] = v, * where t is the value at the given valid index * and v is the value at the top of the stack. *

* *

* This function pops the value from the stack. * As in Lua, this function may trigger a metamethod * for the "newindex" event (see §2.8). *

* * @param ptr the lua_State* pointer * @param index the stack position of the element * @param k the field name */ protected native void lua_setfield(long ptr, int index, String k); /* lua_State * L = (lua_State *) ptr; lua_setfield((lua_State *) L, (int) index, (const char *) k); */ /** * Wrapper of lua_setglobal * *

     * [-1, +0, e]
     * 
* *

     * void lua_setglobal (lua_State *L, const char *name);
     * 
* *

* Pops a value from the stack and * sets it as the new value of global name. * It is defined as a macro: * *

* *
     *      #define lua_setglobal(L,s)   lua_setfield(L, LUA_GLOBALSINDEX, s)
     * 
* * @param ptr the lua_State* pointer * @param name the name */ protected native void lua_setglobal(long ptr, String name); /* lua_State * L = (lua_State *) ptr; lua_setglobal((lua_State *) L, (const char *) name); */ /** * Wrapper of lua_setmetatable * *

     * [-1, +0, -]
     * 
* *

     * int lua_setmetatable (lua_State *L, int index);
     * 
* *

* Pops a table from the stack and * sets it as the new metatable for the value at the given * acceptable index. *

* * @param ptr the lua_State* pointer * @param index the stack position of the element * @return see description */ protected native int lua_setmetatable(long ptr, int index); /* lua_State * L = (lua_State *) ptr; jint returnValueReceiver = (jint) lua_setmetatable((lua_State *) L, (int) index); return returnValueReceiver; */ /** * Wrapper of lua_setmetatable * *

     * [-1, +0, -]
     * 
* *

     * int lua_setmetatable (lua_State *L, int index);
     * 
* *

* Pops a table from the stack and * sets it as the new metatable for the value at the given * acceptable index. *

* * @param ptr the lua_State* pointer * @param index the stack position of the element */ protected native void luaJ_setmetatable(long ptr, int index); /* lua_State * L = (lua_State *) ptr; lua_setmetatable((lua_State *) L, (int) index); */ /** * Wrapper of lua_settable * *

     * [-2, +0, e]
     * 
* *

     * void lua_settable (lua_State *L, int index);
     * 
* *

* Does the equivalent to t[k] = v, * where t is the value at the given valid index, * v is the value at the top of the stack, * and k is the value just below the top. *

* *

* This function pops both the key and the value from the stack. * As in Lua, this function may trigger a metamethod * for the "newindex" event (see §2.8). *

* * @param ptr the lua_State* pointer * @param index the stack position of the element */ protected native void lua_settable(long ptr, int index); /* lua_State * L = (lua_State *) ptr; lua_settable((lua_State *) L, (int) index); */ /** * Wrapper of lua_settop * *

     * [-?, +?, -]
     * 
* *

     * void lua_settop (lua_State *L, int index);
     * 
* *

* Accepts any acceptable index, or 0, * and sets the stack top to this index. * If the new top is larger than the old one, * then the new elements are filled with nil. * If index is 0, then all stack elements are removed. *

* * @param ptr the lua_State* pointer * @param index the stack position of the element */ protected native void lua_settop(long ptr, int index); /* lua_State * L = (lua_State *) ptr; lua_settop((lua_State *) L, (int) index); */ /** * Wrapper of lua_status * *

     * [-0, +0, -]
     * 
* *

     * int lua_status (lua_State *L);
     * 
* *

* Returns the status of the thread L. *

* *

* The status can be 0 for a normal thread, * an error code if the thread finished its execution with an error, * or LUA_YIELD if the thread is suspended. *

* * @param ptr the lua_State* pointer * @return see description */ protected native int lua_status(long ptr); /* lua_State * L = (lua_State *) ptr; jint returnValueReceiver = (jint) lua_status((lua_State *) L); return returnValueReceiver; */ /** * Wrapper of lua_toboolean * *

     * [-0, +0, -]
     * 
* *

     * int lua_toboolean (lua_State *L, int index);
     * 
* *

* Converts the Lua value at the given acceptable index to a C boolean * value (0 or 1). * Like all tests in Lua, * lua_toboolean returns 1 for any Lua value * different from false and nil; * otherwise it returns 0. * It also returns 0 when called with a non-valid index. * (If you want to accept only actual boolean values, * use lua_isboolean to test the value's type.) *

* * @param ptr the lua_State* pointer * @param index the stack position of the element * @return see description */ protected native int lua_toboolean(long ptr, int index); /* lua_State * L = (lua_State *) ptr; jint returnValueReceiver = (jint) lua_toboolean((lua_State *) L, (int) index); return returnValueReceiver; */ /** * Wrapper of lua_tointeger * *

     * [-0, +0, -]
     * 
* *

     * lua_Integer lua_tointeger (lua_State *L, int index);
     * 
* *

* Converts the Lua value at the given acceptable index * to the signed integral type lua_Integer. * The Lua value must be a number or a string convertible to a number * (see §2.2.1); * otherwise, lua_tointeger returns 0. *

* *

* If the number is not an integer, * it is truncated in some non-specified way. *

* * @param ptr the lua_State* pointer * @param index the stack position of the element * @return see description */ protected native int lua_tointeger(long ptr, int index); /* lua_State * L = (lua_State *) ptr; jint returnValueReceiver = (jint) lua_tointeger((lua_State *) L, (int) index); return returnValueReceiver; */ /** * Wrapper of lua_tonumber * *

     * [-0, +0, -]
     * 
* *

     * lua_Number lua_tonumber (lua_State *L, int index);
     * 
* *

* Converts the Lua value at the given acceptable index * to the C type lua_Number (see lua_Number). * The Lua value must be a number or a string convertible to a number * (see §2.2.1); * otherwise, lua_tonumber returns 0. *

* * @param ptr the lua_State* pointer * @param index the stack position of the element * @return see description */ protected native double lua_tonumber(long ptr, int index); /* lua_State * L = (lua_State *) ptr; jdouble returnValueReceiver = (jdouble) lua_tonumber((lua_State *) L, (int) index); return returnValueReceiver; */ /** * Wrapper of lua_topointer * *

     * [-0, +0, -]
     * 
* *

     * const void *lua_topointer (lua_State *L, int index);
     * 
* *

* Converts the value at the given acceptable index to a generic * C pointer (void*). * The value can be a userdata, a table, a thread, or a function; * otherwise, lua_topointer returns NULL. * Different objects will give different pointers. * There is no way to convert the pointer back to its original value. *

* *

* Typically this function is used only for debug information. *

* * @param ptr the lua_State* pointer * @param index the stack position of the element * @return see description */ protected native long lua_topointer(long ptr, int index); /* lua_State * L = (lua_State *) ptr; jlong returnValueReceiver = (jlong) lua_topointer((lua_State *) L, (int) index); return returnValueReceiver; */ /** * Wrapper of lua_tostring * *

     * [-0, +0, m]
     * 
* *

     * const char *lua_tostring (lua_State *L, int index);
     * 
* *

* Equivalent to lua_tolstring with len equal to NULL. *

* * @param ptr the lua_State* pointer * @param index the stack position of the element * @return see description */ protected native String lua_tostring(long ptr, int index); /* lua_State * L = (lua_State *) ptr; const char * returnValueReceiver = (const char *) lua_tostring((lua_State *) L, (int) index); return env->NewStringUTF(returnValueReceiver); */ /** * Wrapper of lua_tothread * *

     * [-0, +0, -]
     * 
* *

     * lua_State *lua_tothread (lua_State *L, int index);
     * 
* *

* Converts the value at the given acceptable index to a Lua thread * (represented as lua_State*). * This value must be a thread; * otherwise, the function returns NULL. *

* * @param ptr the lua_State* pointer * @param index the stack position of the element * @return see description */ protected native long lua_tothread(long ptr, int index); /* lua_State * L = (lua_State *) ptr; jlong returnValueReceiver = (jlong) lua_tothread((lua_State *) L, (int) index); return returnValueReceiver; */ /** * Wrapper of lua_touserdata * *

     * [-0, +0, -]
     * 
* *

     * void *lua_touserdata (lua_State *L, int index);
     * 
* *

* If the value at the given acceptable index is a full userdata, * returns its block address. * If the value is a light userdata, * returns its pointer. * Otherwise, returns NULL. *

* * @param ptr the lua_State* pointer * @param index the stack position of the element * @return see description */ protected native long lua_touserdata(long ptr, int index); /* lua_State * L = (lua_State *) ptr; jlong returnValueReceiver = (jlong) lua_touserdata((lua_State *) L, (int) index); return returnValueReceiver; */ /** * Wrapper of lua_type * *

     * [-0, +0, -]
     * 
* *

     * int lua_type (lua_State *L, int index);
     * 
* *

* Returns the type of the value in the given acceptable index, * or LUA_TNONE for a non-valid index * (that is, an index to an "empty" stack position). * The types returned by lua_type are coded by the following constants * defined in lua.h: * LUA_TNIL, * LUA_TNUMBER, * LUA_TBOOLEAN, * LUA_TSTRING, * LUA_TTABLE, * LUA_TFUNCTION, * LUA_TUSERDATA, * LUA_TTHREAD, * and * LUA_TLIGHTUSERDATA. *

* * @param ptr the lua_State* pointer * @param index the stack position of the element * @return see description */ protected native int lua_type(long ptr, int index); /* lua_State * L = (lua_State *) ptr; jint returnValueReceiver = (jint) lua_type((lua_State *) L, (int) index); return returnValueReceiver; */ /** * Wrapper of lua_typename * *

     * [-0, +0, -]
     * 
* *

     * const char *lua_typename  (lua_State *L, int tp);
     * 
* *

* Returns the name of the type encoded by the value tp, * which must be one the values returned by lua_type. *

* * @param ptr the lua_State* pointer * @param tp type id * @return see description */ protected native String lua_typename(long ptr, int tp); /* lua_State * L = (lua_State *) ptr; const char * returnValueReceiver = (const char *) lua_typename((lua_State *) L, (int) tp); return env->NewStringUTF(returnValueReceiver); */ /** * Wrapper of lua_xmove * *

     * [-?, +?, -]
     * 
* *

     * void lua_xmove (lua_State *from, lua_State *to, int n);
     * 
* *

* Exchange values between different threads of the same global state. *

* *

* This function pops n values from the stack from, * and pushes them onto the stack to. *

* * @param from a thread * @param to another thread * @param n the number of elements */ protected native void lua_xmove(long from, long to, int n); /* lua_xmove((lua_State *) from, (lua_State *) to, (int) n); */ /** * Wrapper of lua_yield * *

     * [-?, +?, -]
     * 
* *

     * int lua_yield  (lua_State *L, int nresults);
     * 
* *

* Yields a coroutine. *

* *

* This function should only be called as the * return expression of a C function, as follows: * *

* *
     *      return lua_yield (L, nresults);
     * 
* *

* When a C function calls lua_yield in that way, * the running coroutine suspends its execution, * and the call to lua_resume that started this coroutine returns. * The parameter nresults is the number of values from the stack * that are passed as results to lua_resume. *

* *

3.8 – The Debug Interface *

* *

* Lua has no built-in debugging facilities. * Instead, it offers a special interface * by means of functions and hooks. * This interface allows the construction of different * kinds of debuggers, profilers, and other tools * that need "inside information" from the interpreter. *

* * @param ptr the lua_State* pointer * @param nresults the number of results, or LUA_MULTRET * @return see description */ protected native int lua_yield(long ptr, int nresults); /* lua_State * L = (lua_State *) ptr; jint returnValueReceiver = (jint) lua_yield((lua_State *) L, (int) nresults); return returnValueReceiver; */ /** * Wrapper of lua_gethookcount * *

     * [-0, +0, -]
     * 
* *

     * int lua_gethookcount (lua_State *L);
     * 
* *

* Returns the current hook count. *

* * @param ptr the lua_State* pointer * @return see description */ protected native int lua_gethookcount(long ptr); /* lua_State * L = (lua_State *) ptr; jint returnValueReceiver = (jint) lua_gethookcount((lua_State *) L); return returnValueReceiver; */ /** * Wrapper of lua_gethookmask * *

     * [-0, +0, -]
     * 
* *

     * int lua_gethookmask (lua_State *L);
     * 
* *

* Returns the current hook mask. *

* * @param ptr the lua_State* pointer * @return see description */ protected native int lua_gethookmask(long ptr); /* lua_State * L = (lua_State *) ptr; jint returnValueReceiver = (jint) lua_gethookmask((lua_State *) L); return returnValueReceiver; */ /** * Wrapper of lua_getupvalue * *

     * [-0, +(0|1), -]
     * 
* *

     * const char *lua_getupvalue (lua_State *L, int funcindex, int n);
     * 
* *

* Gets information about a closure's upvalue. * (For Lua functions, * upvalues are the external local variables that the function uses, * and that are consequently included in its closure.) * lua_getupvalue gets the index n of an upvalue, * pushes the upvalue's value onto the stack, * and returns its name. * funcindex points to the closure in the stack. * (Upvalues have no particular order, * as they are active through the whole function. * So, they are numbered in an arbitrary order.) *

* *

* Returns NULL (and pushes nothing) * when the index is greater than the number of upvalues. * For C functions, this function uses the empty string "" * as a name for all upvalues. *

* * @param ptr the lua_State* pointer * @param funcindex the stack position of the closure * @param n the index in the upvalue * @return see description */ protected native String lua_getupvalue(long ptr, int funcindex, int n); /* lua_State * L = (lua_State *) ptr; const char * returnValueReceiver = (const char *) lua_getupvalue((lua_State *) L, (int) funcindex, (int) n); return env->NewStringUTF(returnValueReceiver); */ /** * Wrapper of lua_setupvalue * *

     * [-(0|1), +0, -]
     * 
* *

     * const char *lua_setupvalue (lua_State *L, int funcindex, int n);
     * 
* *

* Sets the value of a closure's upvalue. * It assigns the value at the top of the stack * to the upvalue and returns its name. * It also pops the value from the stack. * Parameters funcindex and n are as in the lua_getupvalue * (see lua_getupvalue). *

* *

* Returns NULL (and pops nothing) * when the index is greater than the number of upvalues. *

* * @param ptr the lua_State* pointer * @param funcindex the stack position of the closure * @param n the index in the upvalue * @return see description */ protected native String lua_setupvalue(long ptr, int funcindex, int n); /* lua_State * L = (lua_State *) ptr; const char * returnValueReceiver = (const char *) lua_setupvalue((lua_State *) L, (int) funcindex, (int) n); return env->NewStringUTF(returnValueReceiver); */ /** * Wrapper of luaL_callmeta * *

     * [-0, +(0|1), e]
     * 
* *

     * int luaL_callmeta (lua_State *L, int obj, const char *e);
     * 
* *

* Calls a metamethod. *

* *

* If the object at index obj has a metatable and this * metatable has a field e, * this function calls this field and passes the object as its only argument. * In this case this function returns 1 and pushes onto the * stack the value returned by the call. * If there is no metatable or no metamethod, * this function returns 0 (without pushing any value on the stack). *

* * @param ptr the lua_State* pointer * @param obj the stack position of the object * @param e field name * @return see description */ protected native int luaL_callmeta(long ptr, int obj, String e); /* lua_State * L = (lua_State *) ptr; jint returnValueReceiver = (jint) luaL_callmeta((lua_State *) L, (int) obj, (const char *) e); return returnValueReceiver; */ /** * Wrapper of luaL_dostring * *

     * [-0, +?, m]
     * 
* *

     * int luaL_dostring (lua_State *L, const char *str);
     * 
* *

* Loads and runs the given string. * It is defined as the following macro: * *

* *
     *      (luaL_loadstring(L, str) || lua_pcall(L, 0, LUA_MULTRET, 0))
     * 
* *

* It returns 0 if there are no errors * or 1 in case of errors. *

* * @param ptr the lua_State* pointer * @param str string * @return see description */ protected native int luaL_dostring(long ptr, String str); /* lua_State * L = (lua_State *) ptr; jint returnValueReceiver = (jint) luaL_dostring((lua_State *) L, (const char *) str); return returnValueReceiver; */ /** * Wrapper of luaL_getmetafield * *

     * [-0, +(0|1), m]
     * 
* *

     * int luaL_getmetafield (lua_State *L, int obj, const char *e);
     * 
* *

* Pushes onto the stack the field e from the metatable * of the object at index obj. * If the object does not have a metatable, * or if the metatable does not have this field, * returns 0 and pushes nothing. *

* * @param ptr the lua_State* pointer * @param obj the stack position of the object * @param e field name * @return see description */ protected native int luaL_getmetafield(long ptr, int obj, String e); /* lua_State * L = (lua_State *) ptr; jint returnValueReceiver = (jint) luaL_getmetafield((lua_State *) L, (int) obj, (const char *) e); return returnValueReceiver; */ /** * Wrapper of luaL_getmetatable * *

     * [-0, +1, -]
     * 
* *

     * void luaL_getmetatable (lua_State *L, const char *tname);
     * 
* *

* Pushes onto the stack the metatable associated with name tname * in the registry (see luaL_newmetatable). *

* * @param ptr the lua_State* pointer * @param tname type name */ protected native void luaL_getmetatable(long ptr, String tname); /* lua_State * L = (lua_State *) ptr; luaL_getmetatable((lua_State *) L, (const char *) tname); */ /** * Wrapper of luaL_getmetatable * *

     * [-0, +1, -]
     * 
* *

     * void luaL_getmetatable (lua_State *L, const char *tname);
     * 
* *

* Pushes onto the stack the metatable associated with name tname * in the registry (see luaL_newmetatable). *

* * @param ptr the lua_State* pointer * @param tname type name */ protected native void luaJ_getmetatable(long ptr, String tname); /* lua_State * L = (lua_State *) ptr; luaL_getmetatable((lua_State *) L, (const char *) tname); */ /** * Wrapper of luaL_gsub * *

     * [-0, +1, m]
     * 
* *

     * const char *luaL_gsub (lua_State *L,
     *                        const char *s,
     *                        const char *p,
     *                        const char *r);
     * 
* *

* Creates a copy of string s by replacing * any occurrence of the string p * with the string r. * Pushes the resulting string on the stack and returns it. *

* * @param ptr the lua_State* pointer * @param s the string * @param p the replaced sequence * @param r the replacing string * @return see description */ protected native String luaL_gsub(long ptr, String s, String p, String r); /* lua_State * L = (lua_State *) ptr; const char * returnValueReceiver = (const char *) luaL_gsub((lua_State *) L, (const char *) s, (const char *) p, (const char *) r); return env->NewStringUTF(returnValueReceiver); */ /** * Wrapper of luaL_loadstring * *

     * [-0, +1, m]
     * 
* *

     * int luaL_loadstring (lua_State *L, const char *s);
     * 
* *

* Loads a string as a Lua chunk. * This function uses lua_load to load the chunk in * the zero-terminated string s. *

* *

* This function returns the same results as lua_load. *

* *

* Also as lua_load, this function only loads the chunk; * it does not run it. *

* * @param ptr the lua_State* pointer * @param s the string * @return see description */ protected native int luaL_loadstring(long ptr, String s); /* lua_State * L = (lua_State *) ptr; jint returnValueReceiver = (jint) luaL_loadstring((lua_State *) L, (const char *) s); return returnValueReceiver; */ /** * Wrapper of luaL_newmetatable * *

     * [-0, +1, m]
     * 
* *

     * int luaL_newmetatable (lua_State *L, const char *tname);
     * 
* *

* If the registry already has the key tname, * returns 0. * Otherwise, * creates a new table to be used as a metatable for userdata, * adds it to the registry with key tname, * and returns 1. *

* *

* In both cases pushes onto the stack the final value associated * with tname in the registry. *

* * @param ptr the lua_State* pointer * @param tname type name * @return see description */ protected native int luaL_newmetatable(long ptr, String tname); /* lua_State * L = (lua_State *) ptr; jint returnValueReceiver = (jint) luaL_newmetatable((lua_State *) L, (const char *) tname); return returnValueReceiver; */ /** * Wrapper of luaL_newmetatable * *

     * [-0, +1, m]
     * 
* *

     * int luaL_newmetatable (lua_State *L, const char *tname);
     * 
* *

* If the registry already has the key tname, * returns 0. * Otherwise, * creates a new table to be used as a metatable for userdata, * adds it to the registry with key tname, * and returns 1. *

* *

* In both cases pushes onto the stack the final value associated * with tname in the registry. *

* * @param ptr the lua_State* pointer * @param tname type name */ protected native void luaJ_newmetatable(long ptr, String tname); /* lua_State * L = (lua_State *) ptr; luaL_newmetatable((lua_State *) L, (const char *) tname); */ /** * Wrapper of luaL_newstate * *

     * [-0, +0, -]
     * 
* *

     * lua_State *luaL_newstate (void);
     * 
* *

* Creates a new Lua state. * It calls lua_newstate with an * allocator based on the standard C realloc function * and then sets a panic function (see lua_atpanic) that prints * an error message to the standard error output in case of fatal * errors. *

* *

* Returns the new state, * or NULL if there is a memory allocation error. *

* * @param lid the id of the Lua state, to be used to identify between Java and Lua * @return see description */ protected native long luaL_newstate(int lid); /* lua_State* L = luaL_newstate(); luaJavaSetup(L, env, lid); return (jlong) L; */ /** * Wrapper of luaL_openlibs * *

     * [-0, +0, m]
     * 
* *

     * void luaL_openlibs (lua_State *L);
     * 
* *

* Opens all standard Lua libraries into the given state. *

* * @param ptr the lua_State* pointer */ protected native void luaL_openlibs(long ptr); /* lua_State * L = (lua_State *) ptr; luaL_openlibs((lua_State *) L); */ /** * Wrapper of luaL_ref * *

     * [-1, +0, m]
     * 
* *

     * int luaL_ref (lua_State *L, int t);
     * 
* *

* Creates and returns a reference, * in the table at index t, * for the object at the top of the stack (and pops the object). *

* *

* A reference is a unique integer key. * As long as you do not manually add integer keys into table t, * luaL_ref ensures the uniqueness of the key it returns. * You can retrieve an object referred by reference r * by calling lua_rawgeti(L, t, r). * Function luaL_unref frees a reference and its associated object. *

* *

* If the object at the top of the stack is nil, * luaL_ref returns the constant LUA_REFNIL. * The constant LUA_NOREF is guaranteed to be different * from any reference returned by luaL_ref. *

* * @param ptr the lua_State* pointer * @param t the stack index * @return see description */ protected native int luaL_ref(long ptr, int t); /* lua_State * L = (lua_State *) ptr; jint returnValueReceiver = (jint) luaL_ref((lua_State *) L, (int) t); return returnValueReceiver; */ /** * Wrapper of luaL_typename * *

     * [-0, +0, -]
     * 
* *

     * const char *luaL_typename (lua_State *L, int index);
     * 
* *

* Returns the name of the type of the value at the given index. *

* * @param ptr the lua_State* pointer * @param index the stack position of the element * @return see description */ protected native String luaL_typename(long ptr, int index); /* lua_State * L = (lua_State *) ptr; const char * returnValueReceiver = (const char *) luaL_typename((lua_State *) L, (int) index); return env->NewStringUTF(returnValueReceiver); */ /** * Wrapper of luaL_typerror * *

     * [-0, +0, v]
     * 
* *

     * int luaL_typerror (lua_State *L, int narg, const char *tname);
     * 
* *

* Generates an error with a message like the following: * *

* *
     *      location: bad argument narg to 'func' (tname expected, got rt)
     * 
* *

* where location is produced by luaL_where, * func is the name of the current function, * and rt is the type name of the actual argument. *

* * @param ptr the lua_State* pointer * @param narg the number of arguments * @param tname type name * @return see description */ protected native int luaL_typerror(long ptr, int narg, String tname); /* lua_State * L = (lua_State *) ptr; jint returnValueReceiver = (jint) luaL_typerror((lua_State *) L, (int) narg, (const char *) tname); return returnValueReceiver; */ /** * Wrapper of luaL_unref * *

     * [-0, +0, -]
     * 
* *

     * void luaL_unref (lua_State *L, int t, int ref);
     * 
* *

* Releases reference ref from the table at index t * (see luaL_ref). * The entry is removed from the table, * so that the referred object can be collected. * The reference ref is also freed to be used again. *

* *

* If ref is LUA_NOREF or LUA_REFNIL, * luaL_unref does nothing. *

* * @param ptr the lua_State* pointer * @param t the stack index * @param ref the reference */ protected native void luaL_unref(long ptr, int t, int ref); /* lua_State * L = (lua_State *) ptr; luaL_unref((lua_State *) L, (int) t, (int) ref); */ /** * Wrapper of luaL_where * *

     * [-0, +1, m]
     * 
* *

     * void luaL_where (lua_State *L, int lvl);
     * 
* *

* Pushes onto the stack a string identifying the current position * of the control at level lvl in the call stack. * Typically this string has the following format: * *

* *
     *      chunkname:currentline:
     * 
* *

* Level 0 is the running function, * level 1 is the function that called the running function, * etc. *

* *

* This function is used to build a prefix for error messages. *

* * @param ptr the lua_State* pointer * @param lvl the running level */ protected native void luaL_where(long ptr, int lvl); /* lua_State * L = (lua_State *) ptr; luaL_where((lua_State *) L, (int) lvl); */ /** * A wrapper function * * Open a library indivisually, alternative to luaL_openlibs * * @param ptr the lua_State* pointer * @param lib library name */ protected native void luaJ_openlib(long ptr, String lib); /* lua_State * L = (lua_State *) ptr; luaJ_openlib((lua_State *) L, (const char *) lib); */ /** * A wrapper function * * See lua_compare * * @param ptr the lua_State* pointer * @param index1 the stack position of the first element * @param index2 the stack position of the second element * @param op the operator * @return see description */ protected native int luaJ_compare(long ptr, int index1, int index2, int op); /* lua_State * L = (lua_State *) ptr; jint returnValueReceiver = (jint) luaJ_compare((lua_State *) L, (int) index1, (int) index2, (int) op); return returnValueReceiver; */ /** * A wrapper function * * Wrapper of lua_(obj)len * * @param ptr the lua_State* pointer * @param index the stack position of the element * @return see description */ protected native int luaJ_len(long ptr, int index); /* lua_State * L = (lua_State *) ptr; jint returnValueReceiver = (jint) luaJ_len((lua_State *) L, (int) index); return returnValueReceiver; */ /** * A wrapper function * * Load a direct buffer * * @param ptr the lua_State* pointer * @param buffer the buffer (expecting direct) * @param size size * @param name the name * @return see description */ protected native int luaJ_loadbuffer(long ptr, Buffer buffer, int size, String name); /* lua_State * L = (lua_State *) ptr; jint returnValueReceiver = (jint) luaJ_loadbuffer((lua_State *) L, (unsigned char *) buffer, (int) size, (const char *) name); return returnValueReceiver; */ /** * A wrapper function * * Run a direct buffer * * @param ptr the lua_State* pointer * @param buffer the buffer (expecting direct) * @param size size * @param name the name * @return see description */ protected native int luaJ_dobuffer(long ptr, Buffer buffer, int size, String name); /* lua_State * L = (lua_State *) ptr; jint returnValueReceiver = (jint) luaJ_dobuffer((lua_State *) L, (unsigned char *) buffer, (int) size, (const char *) name); return returnValueReceiver; */ /** * A wrapper function * * Protected call * * @param ptr the lua_State* pointer * @param nargs the number of arguments that you pushed onto the stack * @param nresults the number of results, or LUA_MULTRET * @return see description */ protected native int luaJ_pcall(long ptr, int nargs, int nresults); /* lua_State * L = (lua_State *) ptr; jint returnValueReceiver = (jint) luaJ_pcall((lua_State *) L, (int) nargs, (int) nresults); return returnValueReceiver; */ /** * A wrapper function * * Resume a coroutine * * @param ptr the lua_State* pointer * @param nargs the number of arguments that you pushed onto the stack * @return see description */ protected native int luaJ_resume(long ptr, int nargs); /* lua_State * L = (lua_State *) ptr; jint returnValueReceiver = (jint) luaJ_resume((lua_State *) L, (int) nargs); return returnValueReceiver; */ /** * A wrapper function * * Push a Java object * * @param ptr the lua_State* pointer * @param obj the Java object */ protected native void luaJ_pushobject(long ptr, Object obj); /* lua_State * L = (lua_State *) ptr; luaJ_pushobject((JNIEnv *) env, (lua_State *) L, (jobject) obj); */ /** * A wrapper function * * Push a Java class * * @param ptr the lua_State* pointer * @param clazz the Java class */ protected native void luaJ_pushclass(long ptr, Object clazz); /* lua_State * L = (lua_State *) ptr; luaJ_pushclass((JNIEnv *) env, (lua_State *) L, (jobject) clazz); */ /** * A wrapper function * * Push a Java array * * @param ptr the lua_State* pointer * @param array the Java array */ protected native void luaJ_pusharray(long ptr, Object array); /* lua_State * L = (lua_State *) ptr; luaJ_pusharray((JNIEnv *) env, (lua_State *) L, (jobject) array); */ /** * A wrapper function * * Push a JFunction * * @param ptr the lua_State* pointer * @param func the function object */ protected native void luaJ_pushfunction(long ptr, Object func); /* lua_State * L = (lua_State *) ptr; luaJ_pushfunction((JNIEnv *) env, (lua_State *) L, (jobject) func); */ /** * A wrapper function * * Is a Java object (including object, array or class) * * @param ptr the lua_State* pointer * @param index the stack position of the element * @return see description */ protected native int luaJ_isobject(long ptr, int index); /* lua_State * L = (lua_State *) ptr; jint returnValueReceiver = (jint) luaJ_isobject((lua_State *) L, (int) index); return returnValueReceiver; */ /** * A wrapper function * * Convert to Java object if it is one * * @param ptr the lua_State* pointer * @param index the stack position of the element * @return see description */ protected native Object luaJ_toobject(long ptr, int index); /* lua_State * L = (lua_State *) ptr; jobject returnValueReceiver = (jobject) luaJ_toobject((lua_State *) L, (int) index); return returnValueReceiver; */ /** * A wrapper function * * Create a new thread * * @param ptr the lua_State* pointer * @param lid the id of the Lua state, to be used to identify between Java and Lua * @return see description */ protected native long luaJ_newthread(long ptr, int lid); /* lua_State * L = (lua_State *) ptr; jlong returnValueReceiver = (jlong) luaJ_newthread((lua_State *) L, (int) lid); return returnValueReceiver; */ /** * A wrapper function * * Append a searcher loading from Java side into package.searchers / loaders * * @param ptr the lua_State* pointer * @return see description */ protected native int luaJ_initloader(long ptr); /* lua_State * L = (lua_State *) ptr; jint returnValueReceiver = (jint) luaJ_initloader((lua_State *) L); return returnValueReceiver; */ }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy