Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Source Code
function aot_reference_for(L,thandle,key,pos)result(ref)type(flu_State)::L!! Handle to the Lua script!> Handle to the table containing the object to get a reference for.integer,intent(in),optional::thandle!> Name of the object to look up, if thandle is not present, this is!! a global definition.!!!! If neither thandle nor key is provided, a reference to the top of!! the stack is returned.character(len=*),intent(in),optional::key!> Positional index of the object inside thandle to get the reference!! for. If thandle is not provided, this argument is ignored.!!!! If a key is provided, that takes precedent over pos.integer,intent(in),optional::posinteger::toptypeinteger::refif(present(thandle))then call aot_table_push(L=L,thandle=thandle,&&key=key,pos=pos)else if(present(key))thentoptype=flu_getglobal(L,key)end ifref=fluL_ref(L,LUA_REGISTRYINDEX)end function aot_reference_for