diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2018-07-27 02:03:56 -0500 |
---|---|---|
committer | Andres Noetzli <andres.noetzli@gmail.com> | 2018-07-27 00:03:56 -0700 |
commit | e0ee22291dff96679a98ac77f3fbaa01de3ab035 (patch) | |
tree | c00b6712d64e1a33ebaaf55cd97bdd2fdbddab5b /src/expr/node.cpp | |
parent | bf30407a9f4eb1077a64b495a7333382a008437c (diff) |
Fix Node::hasFreeVar for function variables (#2216)
A Node has free variables if its operator has free variables.
Diffstat (limited to 'src/expr/node.cpp')
-rw-r--r-- | src/expr/node.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/expr/node.cpp b/src/expr/node.cpp index 0503c7932..fdb1e4d90 100644 --- a/src/expr/node.cpp +++ b/src/expr/node.cpp @@ -181,6 +181,10 @@ bool NodeTemplate<ref_count>::hasFreeVar() } // must visit quantifiers again to clean up below visited[cur] = !isQuant; + if (cur.hasOperator()) + { + visit.push_back(cur.getOperator()); + } for (const TNode& cn : cur) { visit.push_back(cn); |