use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub struct CallRelation {
pub caller: String,
pub callee: String,
pub call_site_line: usize,
pub is_direct: bool,
}
impl CallRelation {
pub fn new(caller: impl Into<String>, callee: impl Into<String>, line: usize) -> Self {
Self {
caller: caller.into(),
callee: callee.into(),
call_site_line: line,
is_direct: true,
}
}
pub fn indirect(mut self) -> Self {
self.is_direct = false;
self
}
}