return to->mkConst(::CVC4::EmptySet(type));
}
return exportConstant(n, NodeManager::fromExprManager(to), vmap);
- } else if(n.isVar()) {
+ } else if(n.getMetaKind() == metakind::NULLARY_OPERATOR ){
+ Expr from_e(from, new Node(n));
+ Type type = from->exportType(from_e.getType(), to, vmap);
+ NodeManagerScope nullScope(NULL);
+ return to->mkNullaryOperator(type, n.getKind()); // FIXME thread safety
+ } else if(n.getMetaKind() == metakind::VARIABLE) {
Expr from_e(from, new Node(n));
Expr& to_e = vmap.d_typeMap[from_e];
if(! to_e.isNull()) {
/* The check should have happened, if we asked for it. */
Assert( !check || getAttribute(n, TypeCheckedAttr()) );
- Debug("getType") << "type of " << n << " is " << typeNode << endl;
+ Debug("getType") << "type of " << &n << " " << n << " is " << typeNode << endl;
return typeNode;
}
//setAttribute(n, TypeCheckedAttr(), true);
d_unique_vars[k][type] = n;
Assert( n.getMetaKind() == kind::metakind::NULLARY_OPERATOR );
- Trace("ajr-temp") << this << "...made nullary operator " << n << std::endl;
+ Trace("ajr-temp") << this << "...made nullary operator " << n << " " << &n << " " << type << std::endl;
return n;
}else{
- Trace("ajr-temp") << this << "...reuse nullary operator " << it->second << std::endl;
+ Trace("ajr-temp") << this << "...reuse nullary operator " << it->second << " " << &( it->second ) << std::endl;
return it->second;
}
}