Obtain the recorded open files by track_rq from the Lua state.
The track_rq function tracks all requires that are made after its call and stores the corresponding filename along with the given module name. These two lists can be retrieved with this routine.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(flu_State) | :: | L |
Lua state to get the requires from |
|||
character(len=PathLen), | intent(out), | allocatable | :: | fileList(:) |
List of required filenames in the Lua state. |
|
character(len=LabelLen), | intent(out), | allocatable | :: | labelList(:) |
List of the module names associated to the corresponding files. |
subroutine tem_get_required_Lua(L, fileList, labelList) ! --------------------------------------------------------------------------- !> Lua state to get the requires from type(flu_State) :: L !> List of required filenames in the Lua state. character(len=PathLen), allocatable, intent(out) :: fileList(:) !> List of the module names associated to the corresponding files. character(len=LabelLen), allocatable, intent(out) :: labelList(:) ! --------------------------------------------------------------------------- integer :: track_handle integer :: of_handle integer :: list_handle integer :: nFiles integer :: iError integer :: i ! --------------------------------------------------------------------------- call aot_table_open( L = L, & & thandle = track_handle, & & key = "track_rq" ) call aot_table_open( L = L, & & parent = track_handle, & & thandle = of_handle, & & key = "open_files" ) call aot_get_val( L = L, & & val = nFiles, & & ErrCode = iError, & & thandle = of_handle, & & key = "count" ) allocate(fileList(nFiles)) allocate(labelList(nFiles)) call aot_table_open( L = L, & & parent = of_handle, & & thandle = list_handle, & & key = "name" ) do i=1,nFiles call aot_get_val( L = L, & & val = labelList(i), & & ErrCode = iError, & & thandle = list_handle, & & pos = i ) end do call aot_table_close(L, list_handle) call aot_table_open( L = L, & & parent = of_handle, & & thandle = list_handle, & & key = "file" ) do i=1,nFiles call aot_get_val( L = L, & & val = fileList(i), & & ErrCode = iError, & & thandle = list_handle, & & pos = i ) end do call aot_table_close(L, list_handle) call aot_table_close(L, of_handle) call aot_table_close(L, track_handle) end subroutine tem_get_required_Lua