method vstmt stmt =
self#incr_both_metrics self#incr_slocs;
(match stmt.stmt_node with
| DEFAULT _ -> ()
| CASERANGE _
| CASE _ ->
if not !was_case then self#incr_both_metrics self#incr_dpoints;
| IF _ ->
self#incr_both_metrics self#incr_ifs;
self#incr_both_metrics self#incr_dpoints;
| NOP _
| COMPUTATION _
| BLOCK _ -> ()
| WHILE _
| DOWHILE _
| FOR _ ->
self#incr_both_metrics self#incr_loops;
self#incr_both_metrics self#incr_dpoints;
| BREAK _
| CONTINUE _ -> ()
| RETURN _ -> self#incr_both_metrics self#incr_exits;
| SWITCH _ -> ()
| LABEL _ -> ()
| GOTO _
| COMPGOTO _ -> self#incr_both_metrics self#incr_gotos;
| DEFINITION _
| ASM _
| SEQUENCE _
| TRY_EXCEPT _
| TRY_FINALLY _
| CODE_ANNOT _
| CODE_SPEC _ -> ());
self#set_case stmt;
Cil.DoChildren