use serde::Serialize;
#[derive(Debug, Clone, Serialize)]
pub struct CallEdge {
pub caller_file: String,
pub caller_name: String,
pub callee_name: String,
#[serde(skip_serializing)]
pub callee_qualifier: Option<String>,
pub line: usize,
#[serde(skip_serializing_if = "Option::is_none")]
pub resolved_file: Option<String>,
pub confidence: f64,
#[serde(skip_serializing_if = "Option::is_none")]
pub resolution_strategy: Option<&'static str>,
#[serde(skip_serializing)]
pub canonical_callee_name: Option<String>,
}
#[derive(Debug, Clone, Serialize)]
pub struct CallerEntry {
pub file: String,
pub function: String,
pub line: usize,
pub confidence: f64,
#[serde(skip_serializing_if = "Option::is_none")]
pub resolution: Option<&'static str>,
}
#[derive(Debug, Clone, Serialize)]
pub struct CalleeEntry {
pub name: String,
pub line: usize,
#[serde(skip_serializing_if = "Option::is_none")]
pub resolved_file: Option<String>,
pub confidence: f64,
#[serde(skip_serializing_if = "Option::is_none")]
pub resolution: Option<&'static str>,
}