liquid_layout/layout/
context.rs

1use std::collections::HashMap;
2
3use bumpalo::Bump;
4use z3::ast::{Bool, Real};
5
6pub struct LayoutContext {
7  pub alloc: Bump,
8}
9
10impl LayoutContext {
11  pub fn new() -> Self {
12    LayoutContext { alloc: Bump::new() }
13  }
14}
15
16pub struct Z3BuildContext<'ctx> {
17  pub prop_cache: HashMap<usize, Bool<'ctx>>,
18  pub measure_cache: HashMap<usize, Real<'ctx>>,
19  pub z3_ctx: &'ctx z3::Context,
20}
21
22impl<'ctx> Z3BuildContext<'ctx> {
23  pub fn new(z3_ctx: &'ctx z3::Context) -> Self {
24    Self {
25      prop_cache: HashMap::new(),
26      measure_cache: HashMap::new(),
27      z3_ctx,
28    }
29  }
30}