summaryrefslogtreecommitdiff
path: root/src/theory
diff options
context:
space:
mode:
authorMorgan Deters <mdeters@gmail.com>2012-11-30 18:11:48 +0000
committerMorgan Deters <mdeters@gmail.com>2012-11-30 18:11:48 +0000
commit4d6d4e0b4082d4c8624e04d040f84070138c3f72 (patch)
tree22d44bf2fa823a1f2a8f8cfac62a2e3575878bf5 /src/theory
parenta0cce22b009afac40122c01a57404c94db241ea6 (diff)
Partial fix for bug 435; still needs some effort.
(this commit was certified error- and warning-free by the test-and-commit script.)
Diffstat (limited to 'src/theory')
-rw-r--r--src/theory/datatypes/kinds6
-rw-r--r--src/theory/datatypes/type_enumerator.h5
2 files changed, 10 insertions, 1 deletions
diff --git a/src/theory/datatypes/kinds b/src/theory/datatypes/kinds
index d1fbf82bc..3968af4dd 100644
--- a/src/theory/datatypes/kinds
+++ b/src/theory/datatypes/kinds
@@ -63,11 +63,15 @@ operator PARAMETRIC_DATATYPE 1: "parametric datatype"
cardinality PARAMETRIC_DATATYPE \
"DatatypeType(%TYPE%.toType()).getDatatype().getCardinality()" \
"util/datatype.h"
-well-founded PARAMETRIC_DATATYPE\
+well-founded PARAMETRIC_DATATYPE \
"DatatypeType(%TYPE%.toType()).getDatatype().isWellFounded()" \
"DatatypeType(%TYPE%.toType()).getDatatype().mkGroundTerm(%TYPE%.toType())" \
"util/datatype.h"
+enumerator PARAMETRIC_DATATYPE \
+ "::CVC4::theory::datatypes::DatatypesEnumerator" \
+ "theory/datatypes/type_enumerator.h"
+
parameterized APPLY_TYPE_ASCRIPTION ASCRIPTION_TYPE 1 \
"type ascription, for datatype constructor applications"
constant ASCRIPTION_TYPE \
diff --git a/src/theory/datatypes/type_enumerator.h b/src/theory/datatypes/type_enumerator.h
index ea68e8957..d8557fcaf 100644
--- a/src/theory/datatypes/type_enumerator.h
+++ b/src/theory/datatypes/type_enumerator.h
@@ -66,6 +66,11 @@ public:
d_zeroCtor(0),
d_argEnumerators(NULL) {
+ //Assert(type.isDatatype());
+ Debug("te") << "datatype is datatype? " << type.isDatatype() << std::endl;
+ Debug("te") << "datatype is kind " << type.getKind() << std::endl;
+ Debug("te") << "datatype is " << type << std::endl;
+
/* find the "zero" constructor (the first non-recursive one) */
/* FIXME: this isn't sufficient for mutually-recursive datatypes! */
while(d_zeroCtor < d_datatype.getNumConstructors()) {
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback