40 while (nupvals--) c->
upvals[nupvals] = NULL;
50 for (i = 0; i < cl->nupvalues; i++) {
72 uv->
u.
open.previous = prev;
92 while ((p = *pp) != NULL &&
uplevel(p) >= level) {
133 if (vname == NULL) vname =
"?";
156 varerror(L, level,
"attempt to close non-closable variable '%s'");
201 varerror(L, level,
"variable '%s' got a non-closable value");
219 uv->
u.
open.next->u.open.previous = uv->
u.
open.previous;
230 ptrdiff_t levelrel =
savestack(L, level);
292 if (pc < f->locvars[i].endpc) {
294 if (local_number == 0)
void luaE_warnerror(lua_State *L, const char *where)
void luaD_callnoyield(lua_State *L, StkId func, int nResults)
LClosure * luaF_newLclosure(lua_State *L, int nupvals)
int luaF_close(lua_State *L, StkId level, int status)
#define luaM_freearray(L, b, n)
static int callclosemth(lua_State *L, StkId level, int status)
void luaF_unlinkupval(UpVal *uv)
static void callclose(lua_State *L, void *ud)
AbsLineInfo * abslineinfo
#define luaC_barrier(L, p, v)
const char * luaF_getlocalname(const Proto *f, int local_number, int pc)
#define restorestack(L, n)
void luaD_seterrorobj(lua_State *L, int errcode, StkId oldtop)
static UpVal * newupval(lua_State *L, int tbc, StkId level, UpVal **prev)
const TValue * luaT_gettmbyobj(lua_State *L, const TValue *o, TMS event)
void luaF_initupvals(lua_State *L, LClosure *cl)
static int prepclosingmethod(lua_State *L, TValue *obj, TValue *err)
int luaD_pcall(lua_State *L, Pfunc func, void *u, ptrdiff_t old_top, ptrdiff_t ef)
l_noret luaG_runerror(lua_State *L, const char *fmt,...)
static void varerror(lua_State *L, StkId level, const char *msg)
void luaF_newtbcupval(lua_State *L, StkId level)
int luaD_rawrunprotected(lua_State *L, Pfunc f, void *ud)
#define setobj(L, obj1, obj2)
void luaF_freeproto(lua_State *L, Proto *f)
static void trynewtbcupval(lua_State *L, void *ud)
UpVal * luaF_findupval(lua_State *L, StkId level)
const char * luaG_findlocal(lua_State *L, CallInfo *ci, int n, StkId *pos)
GCObject * luaC_newobj(lua_State *L, int tt, size_t sz)
CClosure * luaF_newCclosure(lua_State *L, int nupvals)
struct UpVal::@22::@23 open
#define luaC_objbarrier(L, p, o)
Proto * luaF_newproto(lua_State *L)
l_noret luaD_throw(lua_State *L, int errcode)
#define setobj2s(L, o1, o2)