summaryrefslogtreecommitdiff
path: root/src/expr/node.h
diff options
context:
space:
mode:
authorMorgan Deters <mdeters@gmail.com>2010-06-30 11:12:14 +0000
committerMorgan Deters <mdeters@gmail.com>2010-06-30 11:12:14 +0000
commit4375b60d5df794b2c6193f3892185ea181a0748d (patch)
treed346f9dc6bde42c3def6e0aac3b2711418e3d491 /src/expr/node.h
parent4206a75e7a1635d04bb69084404a75670e164b62 (diff)
* theory "tree" rewriting implemented and works
* added TheoryArith::preRewrite() to test and demonstrate the use of pre-rewriting. * array types and type checking now supported * array type checking now supported * theoryOf() dispatching properly to arrays now * theories now required to implement a (simple) identify() function that returns a string identifying them for debugging/user output purposes * added "builtin" theory to hold all built-in kinds and their type rules and rewriting (currently only exploding distinct) * fixed production build failure (regarding NodeSetDepth) * removed an errant "using namespace std" in util/bitvector.h (and made associated trivial fixes elsewhere) * fixes to make unexpected exceptions more verbose in debug builds * fixes to make multiple, cascading assertion fails simpler * minor other fixes to comments etc.
Diffstat (limited to 'src/expr/node.h')
-rw-r--r--src/expr/node.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/expr/node.h b/src/expr/node.h
index 8618bce4d..e3fb42ead 100644
--- a/src/expr/node.h
+++ b/src/expr/node.h
@@ -99,7 +99,7 @@ class NodeValue;
class AttributeManager;
}/* CVC4::expr::attr namespace */
- class NodeSetDepth;
+ class ExprSetDepth;
}/* CVC4::expr namespace */
/**
@@ -304,7 +304,8 @@ public:
* Returns the type of this node.
* @return the type
*/
- TypeNode getType() const throw (CVC4::TypeCheckingExceptionPrivate);
+ TypeNode getType() const
+ throw (CVC4::TypeCheckingExceptionPrivate, CVC4::AssertionException);
/**
* Returns the kind of this node.
@@ -476,7 +477,7 @@ public:
*
* gives "(OR a b (...))"
*/
- typedef expr::NodeSetDepth setdepth;
+ typedef expr::ExprSetDepth setdepth;
/**
* Very basic pretty printer for Node.
@@ -879,7 +880,8 @@ inline bool NodeTemplate<ref_count>::hasOperator() const {
}
template <bool ref_count>
-TypeNode NodeTemplate<ref_count>::getType() const throw (CVC4::TypeCheckingExceptionPrivate) {
+TypeNode NodeTemplate<ref_count>::getType() const
+ throw (CVC4::TypeCheckingExceptionPrivate, CVC4::AssertionException) {
Assert( NodeManager::currentNM() != NULL,
"There is no current CVC4::NodeManager associated to this thread.\n"
"Perhaps a public-facing function is missing a NodeManagerScope ?" );
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback