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 {
21 father_value_id,
22 field_id,
23 }
24 }
25}
26
27impl Value {
28 pub fn new(index: usize, local: usize) -> Self {
29 Value {
30 index,
31 local,
32 father: None,
33 fields: FxHashMap::default(),
34 slot_idx: None,
35 }
36 }
37}