fdoc

functionis_simple_bindingprivate

logical function is_simple_binding(p, id)

True if a graph shows binding id as the procedure it binds: it binds one, which can be shown.

Arguments

NameTypeIntentAttributesDescription
ptype(project_t)in

the project

idintegerin

the entity

Result

NameTypeAttributesDescription
is_simple_bindinglogical

Source

Show the code
logical function is_simple_binding(p, id)
    type(project_t), intent(in) :: p    !! the project
    integer, intent(in) :: id           !! the entity

    is_simple_binding = .false.
    associate (e => p%list%box(id)%e)
        if (e%kind /= E_BOUNDPROC .or. .not. allocated(e%more%binding_ids)) return
        if (size(e%more%binding_ids) /= 1) return
        if (e%deferred) then
            is_simple_binding = .true.
        else if (e%more%binding_ids(1) > 0) then
            is_simple_binding = p%list%box(e%more%binding_ids(1))%e%kind /= E_BOUNDPROC .and. &
                                p%list%box(e%more%binding_ids(1))%e%visible
        end if
    end associate
end function is_simple_binding

Graphs

Called by