Lines Matching refs:L

33 static const char *getfuncname (lua_State *L, CallInfo *ci, const char **name);
36 static int currentpc (lua_State *L, CallInfo *ci) { in currentpc() argument
38 if (ci == L->ci) in currentpc()
39 ci->savedpc = L->savedpc; in currentpc()
44 static int currentline (lua_State *L, CallInfo *ci) { in currentline() argument
45 int pc = currentpc(L, ci); in currentline()
56 LUA_API int lua_sethook (lua_State *L, lua_Hook func, int mask, int count) { in lua_sethook() argument
61 L->hook = func; in lua_sethook()
62 L->basehookcount = count; in lua_sethook()
63 resethookcount(L); in lua_sethook()
64 L->hookmask = cast_byte(mask); in lua_sethook()
69 LUA_API lua_Hook lua_gethook (lua_State *L) { in lua_gethook() argument
70 return L->hook; in lua_gethook()
74 LUA_API int lua_gethookmask (lua_State *L) { in lua_gethookmask() argument
75 return L->hookmask; in lua_gethookmask()
79 LUA_API int lua_gethookcount (lua_State *L) { in lua_gethookcount() argument
80 return L->basehookcount; in lua_gethookcount()
84 LUA_API int lua_getstack (lua_State *L, int level, lua_Debug *ar) { in lua_getstack() argument
87 lua_lock(L); in lua_getstack()
88 for (ci = L->ci; level > 0 && ci > L->base_ci; ci--) { in lua_getstack()
93 if (level == 0 && ci > L->base_ci) { /* level found? */ in lua_getstack()
95 ar->i_ci = cast_int(ci - L->base_ci); in lua_getstack()
102 lua_unlock(L); in lua_getstack()
112 static const char *findlocal (lua_State *L, CallInfo *ci, int n) { in findlocal() argument
115 if (fp && (name = luaF_getlocalname(fp, n, currentpc(L, ci))) != NULL) in findlocal()
118 StkId limit = (ci == L->ci) ? L->top : (ci+1)->func; in findlocal()
127 LUA_API const char *lua_getlocal (lua_State *L, const lua_Debug *ar, int n) { in lua_getlocal() argument
128 CallInfo *ci = L->base_ci + ar->i_ci; in lua_getlocal()
129 const char *name = findlocal(L, ci, n); in lua_getlocal()
130 lua_lock(L); in lua_getlocal()
132 luaA_pushobject(L, ci->base + (n - 1)); in lua_getlocal()
133 lua_unlock(L); in lua_getlocal()
138 LUA_API const char *lua_setlocal (lua_State *L, const lua_Debug *ar, int n) { in lua_setlocal() argument
139 CallInfo *ci = L->base_ci + ar->i_ci; in lua_setlocal()
140 const char *name = findlocal(L, ci, n); in lua_setlocal()
141 lua_lock(L); in lua_setlocal()
143 setobjs2s(L, ci->base + (n - 1), L->top - 1); in lua_setlocal()
144 L->top--; /* pop value */ in lua_setlocal()
145 lua_unlock(L); in lua_setlocal()
177 static void collectvalidlines (lua_State *L, Closure *f) { in collectvalidlines() argument
179 setnilvalue(L->top); in collectvalidlines()
182 Table *t = luaH_new(L, 0, 0); in collectvalidlines()
186 setbvalue(luaH_setnum(L, t, lineinfo[i]), 1); in collectvalidlines()
187 sethvalue(L, L->top, t); in collectvalidlines()
189 incr_top(L); in collectvalidlines()
193 static int auxgetinfo (lua_State *L, const char *what, lua_Debug *ar, in auxgetinfo() argument
207 ar->currentline = (ci) ? currentline(L, ci) : -1; in auxgetinfo()
215 ar->namewhat = (ci) ? getfuncname(L, ci, &ar->name) : NULL; in auxgetinfo()
232 LUA_API int lua_getinfo (lua_State *L, const char *what, lua_Debug *ar) { in lua_getinfo() argument
236 lua_lock(L); in lua_getinfo()
238 StkId func = L->top - 1; in lua_getinfo()
239 luai_apicheck(L, ttisfunction(func)); in lua_getinfo()
242 L->top--; /* pop function */ in lua_getinfo()
245 ci = L->base_ci + ar->i_ci; in lua_getinfo()
249 status = auxgetinfo(L, what, ar, f, ci); in lua_getinfo()
251 if (f == NULL) setnilvalue(L->top); in lua_getinfo()
252 else setclvalue(L, L->top, f); in lua_getinfo()
253 incr_top(L); in lua_getinfo()
256 collectvalidlines(L, f); in lua_getinfo()
257 lua_unlock(L); in lua_getinfo()
497 static const char *getobjname (lua_State *L, CallInfo *ci, int stackpos, in getobjname() argument
501 int pc = currentpc(L, ci); in getobjname()
519 return getobjname(L, ci, b, name); /* get name for `b' */ in getobjname()
544 static const char *getfuncname (lua_State *L, CallInfo *ci, const char **name) { in getfuncname() argument
549 i = ci_func(ci)->l.p->code[currentpc(L, ci)]; in getfuncname()
552 return getobjname(L, ci, GETARG_A(i), name); in getfuncname()
567 void luaG_typeerror (lua_State *L, const TValue *o, const char *op) { in luaG_typeerror() argument
570 const char *kind = (isinstack(L->ci, o)) ? in luaG_typeerror()
571 getobjname(L, L->ci, cast_int(o - L->base), &name) : in luaG_typeerror()
574 luaG_runerror(L, "attempt to %s %s " LUA_QS " (a %s value)", in luaG_typeerror()
577 luaG_runerror(L, "attempt to %s a %s value", op, t); in luaG_typeerror()
581 void luaG_concaterror (lua_State *L, StkId p1, StkId p2) { in luaG_concaterror() argument
584 luaG_typeerror(L, p1, "concatenate"); in luaG_concaterror()
588 void luaG_aritherror (lua_State *L, const TValue *p1, const TValue *p2) { in luaG_aritherror() argument
592 luaG_typeerror(L, p2, "perform arithmetic on"); in luaG_aritherror()
596 int luaG_ordererror (lua_State *L, const TValue *p1, const TValue *p2) { in luaG_ordererror() argument
600 luaG_runerror(L, "attempt to compare two %s values", t1); in luaG_ordererror()
602 luaG_runerror(L, "attempt to compare %s with %s", t1, t2); in luaG_ordererror()
607 static void addinfo (lua_State *L, const char *msg) { in addinfo() argument
608 CallInfo *ci = L->ci; in addinfo()
611 int line = currentline(L, ci); in addinfo()
613 luaO_pushfstring(L, "%s:%d: %s", buff, line, msg); in addinfo()
618 void luaG_errormsg (lua_State *L) { in luaG_errormsg() argument
619 if (L->errfunc != 0) { /* is there an error handling function? */ in luaG_errormsg()
620 StkId errfunc = restorestack(L, L->errfunc); in luaG_errormsg()
621 if (!ttisfunction(errfunc)) luaD_throw(L, LUA_ERRERR); in luaG_errormsg()
622 setobjs2s(L, L->top, L->top - 1); /* move argument */ in luaG_errormsg()
623 setobjs2s(L, L->top - 1, errfunc); /* push function */ in luaG_errormsg()
624 incr_top(L); in luaG_errormsg()
625 luaD_call(L, L->top - 2, 1); /* call it */ in luaG_errormsg()
627 luaD_throw(L, LUA_ERRRUN); in luaG_errormsg()
631 void luaG_runerror (lua_State *L, const char *fmt, ...) { in luaG_runerror() argument
634 addinfo(L, luaO_pushvfstring(L, fmt, argp)); in luaG_runerror()
636 luaG_errormsg(L); in luaG_runerror()