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.
Variables
Type
Visibility
Attributes
Name
Initial
integer,
private
::
i
integer,
private
::
out_unit
Source Code
subroutine error_print_trace(this,unit)!! Print error with stack trace to specified unit!! If unit not specified, prints to stdout (unit 6)class(error_t),intent(in)::thisinteger,intent(in),optional::unitinteger::out_unit,iout_unit=6! stdoutif(present(unit))out_unit=unitif(.not.this%has_error())return! Print error messagewrite(out_unit,'(A,I0,A)',advance='no')"Error ",this%code,": "if(allocated(this%message))then write(out_unit,'(A)')trim(this%message)else write(out_unit,'(A)')"(no message)"end if! Print stack trace if availableif(this%stack_depth>0)then write(out_unit,'(A)')"Call stack (most recent first):"do i=this%stack_depth,1,-1write(out_unit,'(A,I0,A)',advance='no')" [",i,"] "write(out_unit,'(A)')trim(this%call_stack(i))end do end if end subroutine error_print_trace