summaryrefslogtreecommitdiff
path: root/src/parser/smt2/Smt2.g
diff options
context:
space:
mode:
Diffstat (limited to 'src/parser/smt2/Smt2.g')
-rw-r--r--src/parser/smt2/Smt2.g20
1 files changed, 18 insertions, 2 deletions
diff --git a/src/parser/smt2/Smt2.g b/src/parser/smt2/Smt2.g
index 69f21acb7..0c42678aa 100644
--- a/src/parser/smt2/Smt2.g
+++ b/src/parser/smt2/Smt2.g
@@ -782,8 +782,24 @@ sygusGrammarV1[CVC4::api::Sort & ret,
Debug("parser-sygus") << " " << i << " : " << datatypes[i].getName()
<< std::endl;
}
- std::vector<api::Sort> datatypeTypes =
- PARSER_STATE->bindMutualDatatypeTypes(datatypes, false);
+
+ std::vector<CVC4::Datatype> dtypes;
+ dtypes.reserve(ndatatypes);
+
+ for (api::DatatypeDecl i : datatypes)
+ {
+ dtypes.push_back(i.getDatatype());
+ }
+
+ std::set<Type> tset =
+ api::sortSetToTypes(PARSER_STATE->getUnresolvedSorts());
+
+ std::vector<DatatypeType> datatypeTypes =
+ SOLVER->getExprManager()->mkMutualDatatypeTypes(
+ dtypes, tset, ExprManager::DATATYPE_FLAG_PLACEHOLDER);
+
+ PARSER_STATE->getUnresolvedSorts().clear();
+
ret = datatypeTypes[0];
};
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback