litex/execute/
exec_know_stmt.rs1use 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}