Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Source Code
recursive subroutine input_dump_dict(self,unit,indent)class(input_t),intent(in)::selfinteger,intent(in)::unit,indentinteger::itype(type_key_value_pair),pointer::pairif(associated(self%cmp_by_type%first))then write(unit,*)'----------------- Components by type -------------------'endifpair=>self%cmp_by_type%firstdo while(associated(pair))select type(arr=>pair%value);class is(input_t)write(unit,'(a,i4,a)')'>>',size(arr%cmp_arr),&' components of type "'//pair%key//'"'do i=1,size(arr%cmp_arr)write(unit,'(a)',advance='NO')' - 'call arr%cmp_arr(i)%dump(unit,indent+4)enddo end selectpair=>pair%nextenddo if(associated(self%cmp_by_type%first))then write(unit,*)'------------------ Main dictionary ---------------------'endif call self%root%dump(unit,indent)end subroutine input_dump_dict