Module Metrics_cilast

module Metrics_cilast: sig .. end
Syntactic metrics ================= The goal is to collect various (syntactic) information about the source code (slocs, assignments, loops, ...). From those one can compute McCabe's cyclomatic complexity.

Visitor to compute various syntactic metrics. In particular, it fetches all necessary informations to compute cyclomatic complexity .


class type sloc_visitor = object .. end
Syntactic metrics ================= The goal is to collect various (syntactic) information about the source code (slocs, assignments, loops, ...).
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
Compute metrics on whole CIL AST