neo_solidity/
liveness.rs

1//! Liveness Analysis
2//!
3//! Determines which variables are live at each point.
4
5use std::collections::HashSet;
6
7/// Liveness info for a block
8#[derive(Debug, Default, Clone)]
9pub struct LivenessInfo {
10    pub live_in: HashSet<String>,
11    pub live_out: HashSet<String>,
12}
13
14impl LivenessInfo {
15    pub fn is_live(&self, var: &str) -> bool {
16        self.live_in.contains(var) || self.live_out.contains(var)
17    }
18}