summaryrefslogtreecommitdiff
path: root/src/expr/node_builder.h
diff options
context:
space:
mode:
authorMorgan Deters <mdeters@gmail.com>2012-10-10 21:20:40 +0000
committerMorgan Deters <mdeters@gmail.com>2012-10-10 21:20:40 +0000
commit7b2dd1927731b894f5ef610528649a2d1fc555f2 (patch)
tree6d8ad29a1ec8783601787f4b9216fa6409bb9780 /src/expr/node_builder.h
parent318e836ed5f6bd76d378dfce1c707b9908a1c5e1 (diff)
Abstract values for SMT-LIB.
Also fix bug 421 relating to incrementality and models. (this commit was certified error- and warning-free by the test-and-commit script.)
Diffstat (limited to 'src/expr/node_builder.h')
-rw-r--r--src/expr/node_builder.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/expr/node_builder.h b/src/expr/node_builder.h
index 0c8ac40f8..351cf3639 100644
--- a/src/expr/node_builder.h
+++ b/src/expr/node_builder.h
@@ -1305,7 +1305,14 @@ inline void NodeBuilder<nchild_thresh>::maybeCheckType(const TNode n) const
kind::MetaKind mk = n.getMetaKind();
if( mk != kind::metakind::VARIABLE
&& mk != kind::metakind::CONSTANT ) {
- d_nm->getType(n, true);
+ try {
+ d_nm->getType(n, true);
+ } catch(UnknownTypeException&) {
+ // Ignore the error; this expression doesn't have a type,
+ // because it has an abstract value in it. If the user
+ // depends on the type of this expression, he should get an
+ // exception, but so far he's only constructed it.
+ }
}
}
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback