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.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
pure subroutine fragment_lookup_destroy(this)!! Clean up hash table and all chainsclass(fragment_lookup_t),intent(inout)::thisinteger::itype(hash_entry_t),pointer::entry,next_entryif(.not.this%initialized)return do i=1,this%table_size! Free chainentry=>this%table(i)%nextdo while(associated(entry))next_entry=>entry%nextif(allocated(entry%key))deallocate(entry%key)deallocate(entry)entry=>next_entryend do! Free bucket headif(allocated(this%table(i)%key))deallocate(this%table(i)%key)end do deallocate(this%table)this%initialized=.false.end subroutine fragment_lookup_destroy