summaryrefslogtreecommitdiff
path: root/src/expr/node_value.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/expr/node_value.cpp')
-rw-r--r--src/expr/node_value.cpp21
1 files changed, 17 insertions, 4 deletions
diff --git a/src/expr/node_value.cpp b/src/expr/node_value.cpp
index f8bf33b5c..36d634b8b 100644
--- a/src/expr/node_value.cpp
+++ b/src/expr/node_value.cpp
@@ -17,7 +17,8 @@
** reference count on NodeValue instances and
**/
-#include "node_value.h"
+#include "expr/node_value.h"
+#include "expr/node.h"
#include <sstream>
using namespace std;
@@ -27,11 +28,17 @@ namespace CVC4 {
size_t NodeValue::next_id = 1;
NodeValue::NodeValue() :
- d_id(0), d_rc(MAX_RC), d_kind(NULL_EXPR), d_nchildren(0) {
+ d_id(0),
+ d_rc(MAX_RC),
+ d_kind(NULL_EXPR),
+ d_nchildren(0) {
}
NodeValue::NodeValue(int) :
- d_id(0), d_rc(0), d_kind(unsigned(UNDEFINED_KIND)), d_nchildren(0) {
+ d_id(0),
+ d_rc(0),
+ d_kind(kindToDKind(UNDEFINED_KIND)),
+ d_nchildren(0) {
}
NodeValue::~NodeValue() {
@@ -98,7 +105,13 @@ string NodeValue::toString() const {
void NodeValue::toStream(std::ostream& out) const {
out << "(" << Kind(d_kind);
if(d_kind == VARIABLE) {
- out << ":" << this;
+ Node n(this);
+ string s;
+ if(n.hasAttribute(VarNameAttr(), &s)) {
+ out << ":" << s;
+ } else {
+ out << ":" << this;
+ }
} else {
for(const_ev_iterator i = ev_begin(); i != ev_end(); ++i) {
if(i != ev_end()) {
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback