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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
| p | type(project_t) | in | the project | |
| id | integer | in | the entity |
Result
| Name | Type | Attributes | Description |
|---|---|---|---|
| is_simple_binding | logical |
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