Nodes of different colours represent the following:
Module Graph
Solid arrows point from a parent (sub)module to the submodule which is
descended from it. Dashed arrows point from a module being used to the
module using it.
Type Graph
Solid arrows point from one derived type to another which extends
(inherits from) it. Dashed arrows point from a derived type to another
type containing it as a components, with a label listing the name(s) of
said component(s).
Call Graph
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.
Nodes of different colours represent the following:
Module Graph
Solid arrows point from a parent (sub)module to the submodule which is
descended from it. Dashed arrows point from a module being used to the
module using it.
Type Graph
Solid arrows point from one derived type to another which extends
(inherits from) it. Dashed arrows point from a derived type to another
type containing it as a components, with a label listing the name(s) of
said component(s).
Call Graph
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.
subroutine json_get_string_with_path(me,path,value,found)implicit none type(json_value),pointer,intent(in)::mecharacter(kind=CK,len=*),intent(in)::pathcharacter(kind=CK,len=:),allocatable,intent(out)::valuelogical(LK),intent(out),optional::foundtype(json_value),pointer::pvalue=''if(exception_thrown)then if(present(found))found=.false.return end if nullify(p)call json_get_by_path(me=me,path=path,p=p)if(.not.associated(p))then call throw_exception('Error in json_get_string:'//&' Unable to resolve path: '//trim(path))else call json_get_string(p,value)nullify(p)end if if(allocated(value).and..not.exception_thrown)then if(present(found))found=.true.else if(present(found))thenfound=.false.call json_clear_exceptions()end if end if!cleanup:if(associated(p))nullify(p)end subroutine json_get_string_with_path