File tree Expand file tree Collapse file tree 1 file changed +6
-3
lines changed Expand file tree Collapse file tree 1 file changed +6
-3
lines changed Original file line number Diff line number Diff line change @@ -580,7 +580,7 @@ namespace sls {
580
580
}
581
581
return false ;
582
582
}
583
- if (dt.get_constructor_is (f))
583
+ if (dt.is_is (f))
584
584
return false ;
585
585
return true ;
586
586
}
@@ -895,16 +895,19 @@ namespace sls {
895
895
if (!is_app (e) || to_app (e)->get_family_id () != m_fid)
896
896
return ctx.get_value (e);
897
897
auto w = eval1 (e);
898
- m_eval.set (e->get_id (), w);
898
+ m_eval.setx (e->get_id (), w);
899
899
return w;
900
900
}
901
901
902
902
expr_ref datatype_plugin::eval_accessor (func_decl* f, expr* t) {
903
903
auto & t2val = m_eval_accessor[f];
904
904
if (!t2val.contains (t)) {
905
+ if (!m_model)
906
+ m_model = alloc (model, m);
905
907
auto val = m_model->get_some_value (f->get_range ());
906
908
m.inc_ref (t);
907
909
m.inc_ref (val);
910
+ t2val.insert (t, val);
908
911
}
909
912
return expr_ref (t2val[t], m);
910
913
}
@@ -962,7 +965,7 @@ namespace sls {
962
965
963
966
void datatype_plugin::set_eval0 (expr* e, expr* value) {
964
967
if (dt.is_datatype (e->get_sort ()))
965
- m_eval[ e->get_id ()] = value;
968
+ m_eval. setx ( e->get_id (), value) ;
966
969
else
967
970
ctx.set_value (e, value);
968
971
}
You can’t perform that action at this time.
0 commit comments