Skip to main content

litex/execute/
exec_know_stmt.rs

1use crate::prelude::*;
2
3impl Runtime {
4    pub fn exec_know_stmt(&mut self, know_stmt: &KnowStmt) -> Result<StmtResult, RuntimeError> {
5        let mut infer_result = InferResult::new();
6        for fact in know_stmt.facts.iter() {
7            let fact_infer_result = self
8                .verify_fact_well_defined_and_store_and_infer(
9                    fact.clone(),
10                    &VerifyState::new(0, false),
11                )
12                .map_err(|e| exec_stmt_error_with_stmt_and_cause(know_stmt.clone().into(), e))?;
13            infer_result.new_infer_result_inside(fact_infer_result);
14        }
15        Ok((NonFactualStmtSuccess::new(know_stmt.clone().into(), infer_result, vec![])).into())
16    }
17}