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.
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.
Source Code
subroutine vec_push_unique(buf,mbuf,n,cap,path,build_dir,mask,dep_dirs)type(string_t),allocatable,intent(inout)::buf(:)integer(int64),allocatable,intent(inout)::mbuf(:)integer,intent(inout)::n,capcharacter(len=*),intent(in)::pathcharacter(len=*),intent(in)::build_dirinteger(int64),intent(in)::masktype(string_t),allocatable,intent(in),optional::dep_dirs(:)character(len=:),allocatable::pinteger::ip=normalize_path(path)if(len_trim(p)==0)return if(is_ignored_path(p,build_dir))then if(.not.present(dep_dirs))return if(.not.is_in_dep_dirs(p,dep_dirs))return end if if(.not.exists(p))return do i=1,nif(buf(i)%s==p)thenmbuf(i)=ior(mbuf(i),mask)return end if end do if(n>=cap)call vec_grow(buf,mbuf,cap)n=n+1buf(n)%s=pmbuf(n)=maskend subroutine vec_push_unique