rapx/analysis/core/api_dep/graph/
dep_edge.rs1use 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}