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 test_simple()type(MeterNode),target::nodeclass(AbstractMeterNode),pointer::subnodeclass(AbstractMeter),pointer::ttype(ExclusiveColumn)::ctype(UnlimitedVector)::vinteger::iinteger::expected(3)class(*),allocatable::qnode=MeterNode('top',AdvancedMeter(MpiTimerGauge()))t=>node%get_meter()call t%add_cycle(10.0d0)call node%add_child('a',AdvancedMeter(MpiTimerGauge()))subnode=>node%get_child('a')t=>subnode%get_meter()call t%add_cycle(1.0d0)call node%add_child('b',AdvancedMeter(MpiTimerGauge()))subnode=>node%get_child('b')t=>subnode%get_meter()call t%add_cycle(2.0d0)v=c%get_rows(node)expected=[7,1,2]do i=1,3q=v%at(i)select type(q)type is(integer)@assertEqual(expected(i),q)end select end do end subroutine test_simple