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 test_6(error_cnt)!! This example tries to read an invalid JSON file.implicit noneinteger,intent(out)::error_cnttype(json_file)::jsoninteger::icharacter(len=*),dimension(2),parameter::files=['invalid.json ',&'invalid2.json']error_cnt=0call json_initialize()if(json_failed())then call json_print_error_message(error_unit)error_cnt=error_cnt+1end if write(error_unit,'(A)')''write(error_unit,'(A)')'================================='write(error_unit,'(A)')' EXAMPLE 6 : invalid JSON files'write(error_unit,'(A)')'================================='write(error_unit,'(A)')''do i=1,2! parse the json file:write(error_unit,'(A)')''write(error_unit,'(A)')'load file: '//trim(files(i))write(error_unit,'(A)')''call json%load_file(filename=dir//trim(files(i)))if(json_failed())then call json_print_error_message(error_unit)else write(error_unit,'(A)')'An error should have been raised!'error_cnt=error_cnt+1end if! clean upcall json%destroy()if(json_failed())then call json_print_error_message(error_unit)error_cnt=error_cnt+1end if end do end subroutine test_6