subroutineread_module_proceduresprivate
subroutine read_module_procedures(u, line)
Read a module procedure or procedure statement in an interface.
Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
| u | type(entity_t) | inout | the interface | |
| line | character(len=*) | in | the statement |
Calls
Source
Show the code
subroutine read_module_procedures(u, line)
type(entity_t), intent(inout) :: u !! the interface
character(len=*), intent(in) :: line !! the statement
type(string_t), allocatable :: names(:)
character(len=:), allocatable :: rest
integer :: at, k
rest = line(index(lowercase(line), 'procedure') + 9:)
at = index(rest, '::')
if (at > 0) rest = rest(at + 2:)
names = top_split(rest, ',')
do k = 1, size(names)
call push(u%more%modprocs, names(k)%s)
end do
end subroutine read_module_procedures