diff options
Diffstat (limited to 'src/parser/parser.cpp')
-rw-r--r-- | src/parser/parser.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/parser/parser.cpp b/src/parser/parser.cpp index cef8c4be4..c3c533576 100644 --- a/src/parser/parser.cpp +++ b/src/parser/parser.cpp @@ -303,10 +303,12 @@ bool Parser::isUnresolvedType(const std::string& name) { return d_unresolved.find(getSort(name)) != d_unresolved.end(); } -void Parser::mkMutualDatatypeTypes(std::vector<Datatype>& datatypes, std::vector<DatatypeType>& types) { +std::vector<DatatypeType> +Parser::mkMutualDatatypeTypes(std::vector<Datatype>& datatypes) { try { - d_exprManager->mkMutualDatatypeTypes(datatypes, d_unresolved, types); + std::vector<DatatypeType> types = + d_exprManager->mkMutualDatatypeTypes(datatypes, d_unresolved); assert(datatypes.size() == types.size()); @@ -371,6 +373,8 @@ void Parser::mkMutualDatatypeTypes(std::vector<Datatype>& datatypes, std::vector throw ParserException(dt.getName() + " is not well-founded"); } } + + return types; } catch(IllegalArgumentException& ie) { throw ParserException(ie.getMessage()); } |