summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/expr/node_manager.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/expr/node_manager.h b/src/expr/node_manager.h
index 4bda235f5..8243bd6da 100644
--- a/src/expr/node_manager.h
+++ b/src/expr/node_manager.h
@@ -864,14 +864,20 @@ inline Node NodeManager::mkNode(TNode opNode,
const std::vector<NodeTemplate<ref_count> >&
children) {
Assert(kind::metaKindOf(opNode.getKind()) == kind::metakind::PARAMETERIZED);
- return NodeBuilder<>(this, kind::operatorKindToKind(opNode.getKind())).append(children);
+ NodeBuilder<> nb(this, kind::operatorKindToKind(opNode.getKind()));
+ nb << opNode;
+ nb.append(children);
+ return nb;
}
template <bool ref_count>
inline Node* NodeManager::mkNodePtr(TNode opNode,
const std::vector<NodeTemplate<ref_count> >&
children) {
- return NodeBuilder<>(this, kind::operatorKindToKind(opNode.getKind())).append(children).constructNodePtr();
+ NodeBuilder<> nb(this, kind::operatorKindToKind(opNode.getKind()));
+ nb << opNode;
+ nb.append(children);
+ return nb.constructNodePtr();
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback