stylex_transform/shared/structures/
state.rs1use rustc_hash::{FxHashMap, FxHashSet};
2use swc_core::ecma::ast::Expr;
3
4use super::functions::FunctionMap;
5
6#[derive(Debug, Clone)]
7pub struct EvaluationState {
8 pub(crate) confident: bool,
9 pub(crate) deopt_path: Option<Expr>,
10 pub(crate) added_imports: FxHashSet<String>,
11 pub(crate) functions: FunctionMap,
12 pub(crate) deopt_reason: Option<String>,
13}
14
15impl Default for EvaluationState {
16 fn default() -> Self {
17 EvaluationState {
18 confident: true,
19 deopt_path: None,
20 added_imports: FxHashSet::default(),
21 deopt_reason: None,
22 functions: FunctionMap {
23 identifiers: FxHashMap::default(),
24 member_expressions: FxHashMap::default(),
25 disable_imports: false,
26 },
27 }
28 }
29}
30
31impl EvaluationState {
32 pub(crate) fn new() -> Self {
33 EvaluationState::default()
34 }
35}