Skip to main content

fluidattacks_blends_domain/syntax/
edge.rs

1//! Syntax edge: per-layer optional marks.
2
3use crate::{Ast, Cfg};
4
5/// A link between two syntax nodes, marked by which layer(s) it belongs to.
6#[derive(Clone, Copy, PartialEq, Eq, Debug, Default)]
7#[non_exhaustive]
8pub struct SyntaxEdge {
9    /// Present when this edge carries an AST (parent/child) link.
10    pub ast: Option<Ast>,
11    /// Present when this edge carries a CFG (control-flow) link.
12    pub cfg: Option<Cfg>,
13}