MCPcopy Create free account
hub / github.com/EmmyLua/EmmyLuaDebugger / loadDebug

Function loadDebug

third-party/lua-5.5.0/src/lundump.c:283–323  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

281
282
283static void loadDebug (LoadState *S, Proto *f) {
284 int i;
285 int n = loadInt(S);
286 if (S->fixed) {
287 f->lineinfo = getaddr(S, n, ls_byte);
288 f->sizelineinfo = n;
289 }
290 else {
291 f->lineinfo = luaM_newvectorchecked(S->L, n, ls_byte);
292 f->sizelineinfo = n;
293 loadVector(S, f->lineinfo, n);
294 }
295 n = loadInt(S);
296 if (n > 0) {
297 loadAlign(S, sizeof(int));
298 if (S->fixed) {
299 f->abslineinfo = getaddr(S, n, AbsLineInfo);
300 f->sizeabslineinfo = n;
301 }
302 else {
303 f->abslineinfo = luaM_newvectorchecked(S->L, n, AbsLineInfo);
304 f->sizeabslineinfo = n;
305 loadVector(S, f->abslineinfo, n);
306 }
307 }
308 n = loadInt(S);
309 f->locvars = luaM_newvectorchecked(S->L, n, LocVar);
310 f->sizelocvars = n;
311 for (i = 0; i < n; i++)
312 f->locvars[i].varname = NULL;
313 for (i = 0; i < n; i++) {
314 loadString(S, f, &f->locvars[i].varname);
315 f->locvars[i].startpc = loadInt(S);
316 f->locvars[i].endpc = loadInt(S);
317 }
318 n = loadInt(S);
319 if (n != 0) /* does it have debug information? */
320 n = f->sizeupvalues; /* must be this many */
321 for (i = 0; i < n; i++)
322 loadString(S, f, &f->upvalues[i].name);
323}
324
325
326static void loadFunction (LoadState *S, Proto *f) {

Callers 1

loadFunctionFunction · 0.70

Calls 3

loadAlignFunction · 0.85
loadIntFunction · 0.70
loadStringFunction · 0.70

Tested by

no test coverage detected