|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.luaj.vm2.Varargs org.luaj.vm2.LuaValue org.luaj.vm2.LuaFunction org.luaj.vm2.lib.LibFunction org.luaj.vm2.lib.VarArgFunction org.luaj.vm2.lib.DebugLib
public class DebugLib
Subclass of LibFunction
which implements the lua standard debug
library.
The debug library in luaj tries to emulate the behavior of the corresponding C-based lua library.
To do this, it must maintain a separate stack of calls to LuaClosure
and LibFunction
instances.
Especially when lua-to-java bytecode compiling is being used
via a LuaCompiler
such as LuaJC
,
this cannot be done in all cases.
Typically, this library is included as part of a call to either
JsePlatform#debugGlobals()
or JmePlatform#debugGlobals()
To instantiate and use it directly,
link it into your globals table via LuaValue.load(LuaValue)
using code such as:
LuaTable _G = new LuaTable();
_G.load(new DebugLib());
Doing so will ensure the library is properly initialized
and loaded into the globals table.
LibFunction
,
JsePlatform
,
JmePlatform
,
http://www.lua.org/manual/5.1/manual.html#5.9Field Summary | |
---|---|
static boolean |
CALLS
|
static boolean |
DEBUG_ENABLED
|
static boolean |
TRACE
|
Fields inherited from class org.luaj.vm2.lib.LibFunction |
---|
name, opcode |
Fields inherited from class org.luaj.vm2.LuaFunction |
---|
env, s_metatable |
Fields inherited from class org.luaj.vm2.LuaValue |
---|
ADD, CONCAT, DIV, EMPTYSTRING, EQ, FALSE, INDEX, LE, LEN, LT, METATABLE, MINUSONE, MOD, MODE, MUL, NEWINDEX, NIL, NILS, NONE, NOVALS, ONE, POW, SUB, TBOOLEAN, TFUNCTION, TINT, TLIGHTUSERDATA, TNIL, TNONE, TNUMBER, TOSTRING, TRUE, TSTRING, TTABLE, TTHREAD, TUSERDATA, TVALUE, TYPE_NAMES, UNM, ZERO |
Constructor Summary | |
---|---|
DebugLib()
|
Method Summary | |
---|---|
protected static Varargs |
_getinfo(Varargs args,
LuaValue level0func)
|
static void |
debugBytecode(int pc,
Varargs extras,
int top)
Called by Closures on bytecode execution |
static void |
debugOnCall(LuaThread thread,
int calls,
LuaFunction func)
Called by Closures and recursing java functions on entry |
static void |
debugOnReturn(LuaThread thread,
int calls)
Called by Closures and recursing java functions on return |
static void |
debugSetupCall(Varargs args,
LuaValue[] stack)
Called by Closures to set up stack and arguments to next call |
static java.lang.String |
fileline()
Get file and line for the nearest calling closure. |
static java.lang.String |
fileline(int level)
Get file and line for a particular level, even if it is a java function. |
Varargs |
invoke(Varargs args)
Override and implement for the best performance. |
static java.lang.String |
sourceshort(Prototype p)
|
static java.lang.String |
traceback(int level)
Get a traceback as a string for the current thread |
static java.lang.String |
traceback(LuaThread thread,
int level)
Get a traceback for a particular thread. |
Methods inherited from class org.luaj.vm2.lib.VarArgFunction |
---|
call, call, call, call, onInvoke |
Methods inherited from class org.luaj.vm2.lib.LibFunction |
---|
bind, bind, newupe, newupl, newupn, tojstring |
Methods inherited from class org.luaj.vm2.LuaFunction |
---|
checkfunction, getfenv, getmetatable, isfunction, optfunction, setfenv, type, typename |
Methods inherited from class org.luaj.vm2.Varargs |
---|
argcheck, checkboolean, checkclosure, checkdouble, checkfunction, checkint, checkinteger, checkjstring, checklong, checknotnil, checknumber, checkstring, checktable, checkthread, checkuserdata, checkuserdata, checkvalue, eval, isfunction, isnil, isnoneornil, isnumber, isstring, istable, isTailcall, isthread, isuserdata, isvalue, optboolean, optclosure, optdouble, optfunction, optint, optinteger, optjstring, optlong, optnumber, optstring, opttable, optthread, optuserdata, optuserdata, optvalue, subargs, toboolean, tobyte, tochar, todouble, tofloat, toint, tojstring, tolong, toshort, touserdata, touserdata, type |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final boolean CALLS
public static final boolean TRACE
public static boolean DEBUG_ENABLED
Constructor Detail |
---|
public DebugLib()
Method Detail |
---|
public Varargs invoke(Varargs args)
VarArgFunction
invoke
in class VarArgFunction
args
- the arguments to the function call.
Varargs
instance.LuaValue.varargsOf(LuaValue[])
,
LuaValue.call(LuaValue)
,
LuaValue.invoke()
,
LuaValue.invoke(LuaValue,Varargs)
,
LuaValue.invokemethod(String,Varargs)
,
LuaValue.invokemethod(LuaValue,Varargs)
public static void debugSetupCall(Varargs args, LuaValue[] stack)
public static void debugOnCall(LuaThread thread, int calls, LuaFunction func)
thread
- the thread for the callcalls
- the number of calls in the call stackfunc
- the function calledpublic static void debugOnReturn(LuaThread thread, int calls)
thread
- the thread for the callcalls
- the number of calls in the call stackpublic static void debugBytecode(int pc, Varargs extras, int top)
protected static Varargs _getinfo(Varargs args, LuaValue level0func)
public static java.lang.String sourceshort(Prototype p)
public static java.lang.String traceback(int level)
public static java.lang.String traceback(LuaThread thread, int level)
thread
- LuaThread to provide stack trace forlevel
- 0-based level to start reporting on
public static java.lang.String fileline()
public static java.lang.String fileline(int level)
level
- 0-based index of level to get
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |