summaryrefslogtreecommitdiff
path: root/src/printer/smt2/smt2_printer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/printer/smt2/smt2_printer.cpp')
-rw-r--r--src/printer/smt2/smt2_printer.cpp43
1 files changed, 20 insertions, 23 deletions
diff --git a/src/printer/smt2/smt2_printer.cpp b/src/printer/smt2/smt2_printer.cpp
index 0334c97b6..ed4d3f5dc 100644
--- a/src/printer/smt2/smt2_printer.cpp
+++ b/src/printer/smt2/smt2_printer.cpp
@@ -1921,16 +1921,19 @@ static void toStream(std::ostream& out,
const DatatypeDeclarationCommand* c,
Variant v)
{
- const vector<DatatypeType>& datatypes = c->getDatatypes();
+ const std::vector<Type>& datatypes = c->getDatatypes();
Assert(!datatypes.empty());
- if (datatypes[0].getDatatype().isTuple())
+ Assert(datatypes[0].isDatatype());
+ DatatypeType dt0 = DatatypeType(datatypes[0]);
+ const Datatype& d0 = dt0.getDatatype();
+ if (d0.isTuple())
{
// not necessary to print tuples
Assert(datatypes.size() == 1);
return;
}
out << "(declare-";
- if (datatypes[0].getDatatype().isCodatatype())
+ if (d0.isCodatatype())
{
out << "co";
}
@@ -1938,22 +1941,18 @@ static void toStream(std::ostream& out,
if (isVariant_2_6(v))
{
out << " (";
- for (vector<DatatypeType>::const_iterator i = datatypes.begin(),
- i_end = datatypes.end();
- i != i_end;
- ++i)
+ for (const Type& t : datatypes)
{
- const Datatype& d = i->getDatatype();
+ Assert(t.isDatatype());
+ const Datatype& d = DatatypeType(t).getDatatype();
out << "(" << CVC4::quoteSymbol(d.getName());
out << " " << d.getNumParameters() << ")";
}
out << ") (";
- for (vector<DatatypeType>::const_iterator i = datatypes.begin(),
- i_end = datatypes.end();
- i != i_end;
- ++i)
+ for (const Type& t : datatypes)
{
- const Datatype& d = i->getDatatype();
+ Assert(t.isDatatype());
+ const Datatype& d = DatatypeType(t).getDatatype();
if (d.isParametric())
{
out << "(par (";
@@ -1981,11 +1980,11 @@ static void toStream(std::ostream& out,
// be impossible to print a datatype block where datatypes were given
// different parameter lists.
bool success = true;
- const Datatype& d = datatypes[0].getDatatype();
- unsigned nparam = d.getNumParameters();
+ unsigned nparam = d0.getNumParameters();
for (unsigned j = 1, ndt = datatypes.size(); j < ndt; j++)
{
- const Datatype& dj = datatypes[j].getDatatype();
+ Assert(datatypes[j].isDatatype());
+ const Datatype& dj = DatatypeType(datatypes[j]).getDatatype();
if (dj.getNumParameters() != nparam)
{
success = false;
@@ -1995,7 +1994,7 @@ static void toStream(std::ostream& out,
// must also have identical parameter lists
for (unsigned k = 0; k < nparam; k++)
{
- if (dj.getParameter(k) != d.getParameter(k))
+ if (dj.getParameter(k) != d0.getParameter(k))
{
success = false;
break;
@@ -2011,7 +2010,7 @@ static void toStream(std::ostream& out,
{
for (unsigned j = 0; j < nparam; j++)
{
- out << (j > 0 ? " " : "") << d.getParameter(j);
+ out << (j > 0 ? " " : "") << d0.getParameter(j);
}
}
else
@@ -2022,12 +2021,10 @@ static void toStream(std::ostream& out,
out << std::endl;
}
out << ") (";
- for (vector<DatatypeType>::const_iterator i = datatypes.begin(),
- i_end = datatypes.end();
- i != i_end;
- ++i)
+ for (const Type& t : datatypes)
{
- const Datatype& dt = i->getDatatype();
+ Assert(t.isDatatype());
+ const Datatype& dt = DatatypeType(t).getDatatype();
out << "(" << CVC4::quoteSymbol(dt.getName()) << " ";
toStream(out, dt);
out << ")";
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback