| 873 | } |
| 874 | |
| 875 | void State::addReturn(StateValue &&val) { |
| 876 | get<0>(return_val).add(std::move(val), domain.path); |
| 877 | get<0>(return_memory).add(std::move(memory), domain.path); |
| 878 | auto dom = domain(); |
| 879 | return_domain.add(expr(dom)); |
| 880 | function_domain.add(std::move(dom)); |
| 881 | return_undef_vars.insert(undef_vars.begin(), undef_vars.end()); |
| 882 | return_undef_vars.insert(domain.undef_vars.begin(), domain.undef_vars.end()); |
| 883 | undef_vars.clear(); |
| 884 | domain.path = false; |
| 885 | } |
| 886 | |
| 887 | void State::addAxiom(AndExpr &&ands) { |
| 888 | assert(ands); |