rapx 0.7.32

A static analysis platform for Rust program analysis and verification
use crate::compat::FxHashMap;

#[derive(Debug, Clone)]
pub struct Value {
    pub index: usize,
    pub local: usize,
    pub father: Option<FatherInfo>,
    pub fields: FxHashMap<usize, usize>,
    pub slot_idx: Option<usize>,
}

#[derive(Debug, Clone, PartialEq)]
pub struct FatherInfo {
    pub father_value_id: usize,
    pub field_id: usize,
}

impl FatherInfo {
    pub fn new(father_value_id: usize, field_id: usize) -> Self {
        FatherInfo { father_value_id, field_id }
    }
}

impl Value {
    pub fn new(index: usize, local: usize) -> Self {
        Value {
            index, local,
            father: None,
            fields: FxHashMap::default(),
            slot_idx: None,
        }
    }
}