distributed_verification/
statistics.rs1use indexmap::IndexMap;
2use serde::{Deserialize, Serialize};
3
4#[derive(Debug, Default, Clone, Serialize, Deserialize)]
5pub struct Stat {
6 pub local: LocalCrateFnDefs,
7 pub external: ExternalCrates,
8}
9
10#[derive(Debug, Default, Clone, Serialize, Deserialize)]
12pub struct ExternalCrates {
13 pub count: usize,
15 }
18
19#[derive(Debug, Default, Clone, Serialize, Deserialize)]
21pub struct LocalCrateFnDefs {
22 pub attrs: CountAttrs,
23 pub fn_defs: FnDefs,
24 pub kanitools: KaniTools,
25}
26
27#[derive(Debug, Default, Clone, Serialize, Deserialize)]
28pub struct KaniTools {
29 pub count: IndexMap<String, usize>,
31 pub annotated_functions: IndexMap<String, Vec<String>>,
34}
35
36#[derive(Debug, Default, Clone, Serialize, Deserialize)]
37pub struct CountAttrs {
38 pub all_tool_attrs: usize,
40 pub kanitools: usize,
42}
43
44#[derive(Debug, Default, Clone, Serialize, Deserialize)]
46pub struct FnDefs {
47 pub total: usize,
49 pub kanitools: KaniToolsFnDefs,
51}
52
53#[derive(Debug, Default, Clone, Serialize, Deserialize)]
54pub struct KaniToolsFnDefs {
55 pub count: usize,
56 pub names: Vec<String>,
57}