fdoc

subroutinelink_project

subroutine link_project(p)

Connect what the names in the project refer to.

Arguments

NameTypeIntentAttributesDescription
ptype(project_t)inout

the project

Calls

Source

Show the code
subroutine link_project(p)
    type(project_t), intent(inout) :: p     !! the project
    integer :: k, n

    n = p%list%n
    do k = 1, n
        call progress_tick()
        if (allocated(p%list%box(k)%e%external_url)) cycle
        select case (p%list%box(k)%e%kind)
        case (E_SUBROUTINE, E_FUNCTION, E_MODPROC)
            call link_implementation(p, k)
            call link_calls(p, k)
        case (E_PROGRAM)
            call link_calls(p, k)
        case (E_SUBMODULE)
            call link_submodule(p, k)
        case (E_INTERFACE)
            call link_module_procedures(p, k)
        case (E_BOUNDPROC)
            call link_binding(p, k)
        case (E_TYPE)
            call link_constructor(p, k)
        case (E_FINAL)
            p%list%box(k)%e%proto_id = find_symbol(p, k, lowercase(p%list%box(k)%e%name), 1)
        case (E_VARIABLE)
            call link_variable(p, k)
        end select
    end do
end subroutine link_project

Graphs

Calls

Called by