module Metrics_cilast:sig
..end
Visitor to compute various syntactic metrics.
In particular, it fetches all necessary informations to compute
cyclomatic complexity .
class type sloc_visitor =object
..end
class slocVisitor :(
object
Inherits
val global_metrics : Metrics_base.BasicMetrics.t Pervasives.ref
val local_metrics : Metrics_base.BasicMetrics.t Pervasives.ref
val mutable metrics_map : Metrics_base.BasicMetrics.t Datatype.String.Map.t Datatype.String.Map.t
val mutable seen_vars : Cil_datatype.Varinfo.Set.t
val fundecl_calls : int Metrics_base.VInfoMap.t Pervasives.ref
val fundef_calls : int Metrics_base.VInfoMap.t Pervasives.ref
method fundecl_calls : int Metrics_base.VInfoMap.t
method fundef_calls : int Metrics_base.VInfoMap.t
method get_metrics : Metrics_base.BasicMetrics.t
method private update_metrics_map : Datatype.String.Map.key ->
Metrics_base.BasicMetrics.t Datatype.String.Map.t -> unit
method private incr_both_metrics : (Metrics_base.BasicMetrics.t -> Metrics_base.BasicMetrics.t) -> unit
method private add_map : int Metrics_base.VInfoMap.t Pervasives.ref ->
Metrics_base.VInfoMap.key -> int -> unit
method private stats_of_filename : Datatype.String.Map.key -> Metrics_base.BasicMetrics.t Datatype.String.Map.t
method pp_file_metrics : Format.formatter -> Datatype.String.Map.key -> unit
method pp_detailed_text_metrics : Format.formatter -> unit
method print_stats : Format.formatter -> unit
method private record_and_clear_function_metrics : Metrics_base.BasicMetrics.t -> unit
method vvdec : Cil_datatype.Varinfo.Set.elt -> Cil_types.varinfo Cil.visitAction
method vfunc : Cil_types.fundec -> Cil_types.fundec Cil.visitAction
method vlval : Cil_types.lval -> Cil_types.lval Cil.visitAction
method vstmt : Cil_types.stmt -> Cil_types.stmt Cil.visitAction
method vexpr : Cil_types.exp -> Cil_types.exp Cil.visitAction
method private image : Cil_types.global -> string
method private images : Cil_types.global list -> string
method vinst : Cil_types.instr -> Cil_types.instr list Cil.visitAction
end
:
object ... end
)
val dump_html : Format.formatter ->
< fundecl_calls : int Metrics_base.VInfoMap.t;
fundef_calls : int Metrics_base.VInfoMap.t;
get_metrics : Metrics_base.BasicMetrics.t;
print_stats : Format.formatter -> unit; .. > ->
unit
val pp_funinfo : Format.formatter ->
< fundecl_calls : int Metrics_base.VInfoMap.t;
fundef_calls : int Metrics_base.VInfoMap.t; .. > ->
unit
val pp_with_funinfo : Format.formatter ->
< fundecl_calls : int Metrics_base.VInfoMap.t;
fundef_calls : int Metrics_base.VInfoMap.t;
get_metrics : Metrics_base.BasicMetrics.t; .. > ->
unit
val get_metrics : unit -> Metrics_base.BasicMetrics.t
val compute_on_cilast : unit -> unit