fdoc

subroutinemeasure_filesprivate

subroutine measure_files(site)

Measure the source files of the list of files.

Arguments

NameTypeIntentAttributesDescription
sitetype(site_t)inout

the site

Calls

Source

Show the code
subroutine measure_files(site)
    type(site_t), intent(inout) :: site     !! the site
    integer :: k, n, file

    n = size(site%members(LIST_FILES)%ids)
    allocate (site%file_stats(n))
    !$omp parallel do schedule(dynamic) num_threads(max(1, site%s%parallel)) default(shared) private(k)
    do k = 1, n
        associate (e => site%p%list%box(site%members(LIST_FILES)%ids(k))%e)
            if (allocated(e%source_text)) call count_source(e%source_text, site%file_stats(k))
        end associate
    end do
    !$omp end parallel do
    if (n == 0) return
    do k = 1, site%p%list%n
        associate (e => site%p%list%box(k)%e)
            if (e%kind /= E_SUBROUTINE .and. e%kind /= E_FUNCTION .and. e%kind /= E_MODPROC) cycle
            if (e%iface /= IFACE_NONE .or. e%parent == 0) cycle
            if (site%p%list%box(e%parent)%e%kind == E_INTERFACE) cycle
            file = findloc(site%members(LIST_FILES)%ids, e%file, 1)
            if (file > 0) site%file_stats(file)%procedures = site%file_stats(file)%procedures + 1
        end associate
    end do
end subroutine measure_files

Graphs

Calls

Called by