MCPcopy Create free account
hub / github.com/DFHack/dfhack / lua_setupvalue

Function lua_setupvalue

depends/lua/src/lapi.c:1236–1254  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1234
1235
1236LUA_API const char *lua_setupvalue (lua_State *L, int funcindex, int n) {
1237 const char *name;
1238 TValue *val = NULL; /* to avoid warnings */
1239 CClosure *owner = NULL;
1240 UpVal *uv = NULL;
1241 StkId fi;
1242 lua_lock(L);
1243 fi = index2addr(L, funcindex);
1244 api_checknelems(L, 1);
1245 name = aux_upvalue(fi, n, &val, &owner, &uv);
1246 if (name) {
1247 L->top--;
1248 setobj(L, val, L->top);
1249 if (owner) { luaC_barrier(L, owner, L->top); }
1250 else if (uv) { luaC_upvalbarrier(L, uv); }
1251 }
1252 lua_unlock(L);
1253 return name;
1254}
1255
1256
1257static UpVal **getupvalref (lua_State *L, int fidx, int n) {

Callers 5

SafeCallStringMethod · 0.85
AddFieldInfoTableFunction · 0.85
load_auxFunction · 0.85
set_envFunction · 0.85
auxupvalueFunction · 0.85

Calls 2

index2addrFunction · 0.85
aux_upvalueFunction · 0.85

Tested by

no test coverage detected