rapx/analysis/core/api_dep/graph/
dep_edge.rs

1use std::fmt::Display;
2
3#[derive(Clone, Copy, Eq, PartialEq, Debug)]
4pub enum DepEdge {
5    Arg(usize),
6    Ret,
7    Fn2Generic,
8}
9
10impl Display for DepEdge {
11    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
12        match self {
13            DepEdge::Arg(no) => write!(f, "{}", no),
14            DepEdge::Ret => write!(f, "r"),
15            DepEdge::Fn2Generic => write!(f, ""),
16        }
17    }
18}
19
20impl DepEdge {
21    pub fn arg(no: usize) -> DepEdge {
22        DepEdge::Arg(no)
23    }
24    pub fn ret() -> DepEdge {
25        DepEdge::Ret
26    }
27    pub fn fn2generic() -> DepEdge {
28        DepEdge::Fn2Generic
29    }
30}