summaryrefslogtreecommitdiff
path: root/src/expr/node_manager.cpp
diff options
context:
space:
mode:
authorajreynol <andrew.j.reynolds@gmail.com>2016-11-01 13:33:38 -0500
committerajreynol <andrew.j.reynolds@gmail.com>2016-11-01 13:33:38 -0500
commitf4c783f97201753bf63c70c5c16b7861a236d57c (patch)
tree8e4a9e85d7485200bdfb52b5afc5032993938488 /src/expr/node_manager.cpp
parent8e0fce94790249ff7aff84ff4500bb96e2ebb9e9 (diff)
Revert change to datatypes API for passing pointers, instead make deep copy during call to mkMutualDatatypes.
Diffstat (limited to 'src/expr/node_manager.cpp')
-rw-r--r--src/expr/node_manager.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/expr/node_manager.cpp b/src/expr/node_manager.cpp
index af0b1a2d0..2e6792bdd 100644
--- a/src/expr/node_manager.cpp
+++ b/src/expr/node_manager.cpp
@@ -489,15 +489,15 @@ TypeNode NodeManager::mkSubrangeType(const SubrangeBounds& bounds)
TypeNode NodeManager::TupleTypeCache::getTupleType( NodeManager * nm, std::vector< TypeNode >& types, unsigned index ) {
if( index==types.size() ){
if( d_data.isNull() ){
- Datatype* dt = new Datatype("__cvc4_tuple");
- dt->setTuple();
+ Datatype dt("__cvc4_tuple");
+ dt.setTuple();
DatatypeConstructor c("__cvc4_tuple_ctor");
for (unsigned i = 0; i < types.size(); ++ i) {
std::stringstream ss;
ss << "__cvc4_tuple_stor_" << i;
c.addArg(ss.str().c_str(), types[i].toType());
}
- dt->addConstructor(c);
+ dt.addConstructor(c);
d_data = TypeNode::fromType(nm->toExprManager()->mkDatatypeType(dt));
Debug("tuprec-debug") << "Return type : " << d_data << std::endl;
}
@@ -511,13 +511,13 @@ TypeNode NodeManager::RecTypeCache::getRecordType( NodeManager * nm, const Recor
if( index==rec.getNumFields() ){
if( d_data.isNull() ){
const Record::FieldVector& fields = rec.getFields();
- Datatype* dt = new Datatype("__cvc4_record");
- dt->setRecord();
+ Datatype dt("__cvc4_record");
+ dt.setRecord();
DatatypeConstructor c("__cvc4_record_ctor");
for(Record::FieldVector::const_iterator i = fields.begin(); i != fields.end(); ++i) {
c.addArg((*i).first, (*i).second);
}
- dt->addConstructor(c);
+ dt.addConstructor(c);
d_data = TypeNode::fromType(nm->toExprManager()->mkDatatypeType(dt));
Debug("tuprec-debug") << "Return type : " << d_data << std::endl;
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback