rapx/analysis/alias/default/
value.rs1use crate::compat::FxHashMap;
2
3#[derive(Debug, Clone)]
4pub struct Value {
5 pub index: usize,
6 pub local: usize,
7 pub father: Option<FatherInfo>,
8 pub fields: FxHashMap<usize, usize>,
9 pub slot_idx: Option<usize>,
10}
11
12#[derive(Debug, Clone, PartialEq)]
13pub struct FatherInfo {
14 pub father_value_id: usize,
15 pub field_id: usize,
16}
17
18impl FatherInfo {
19 pub fn new(father_value_id: usize, field_id: usize) -> Self {
20 FatherInfo { father_value_id, field_id }
21 }
22}
23
24impl Value {
25 pub fn new(index: usize, local: usize) -> Self {
26 Value {
27 index, local,
28 father: None,
29 fields: FxHashMap::default(),
30 slot_idx: None,
31 }
32 }
33}