Hi Luiz,
>This main function only has *two* executable instructions:
> - an assigment to a global variable 'a' on line 1
> - an implicit return after line 4
Indeed; I can see it in the luac output.
> See also the output of chunk given by luac -l:
> main <2:0,0> (3 instructions at 0x7f9228c016d0)
> function <2:1,4> (7 instructions at 0x7f9228c01910)
So luac does have the information about the main chunk and the compiled function. Is there any way to get this information using debug.* functions without calling luac or executing the code?
It seems like luac has information about all the levels of functions in the code; for example, the following fragment:
function a()
print("a")
local function b()
print("c")
end
print("b")
end
shows one main chunk and two functions:
main <test.lua:0,0> (3 instructions, 12 bytes at 007B1170)
function <test.lua:1,7> (8 instructions, 32 bytes at 007B12A8)
function <test.lua:3,5> (4 instructions, 16 bytes at 007B1B98)
If luac output does have all this information, why is it not available through .activelines for that chunk? Is there any way to get to it?