summaryrefslogtreecommitdiff
path: root/src/expr/expr_manager_template.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/expr/expr_manager_template.h')
-rw-r--r--src/expr/expr_manager_template.h22
1 files changed, 19 insertions, 3 deletions
diff --git a/src/expr/expr_manager_template.h b/src/expr/expr_manager_template.h
index bce1c8940..dce1a57a5 100644
--- a/src/expr/expr_manager_template.h
+++ b/src/expr/expr_manager_template.h
@@ -372,14 +372,27 @@ public:
/** Make the type of set with the given parameterization. */
SetType mkSetType(Type elementType) const;
+ /** Bits for use in mkDatatypeType() flags.
+ *
+ * DATATYPE_FLAG_PLACEHOLDER indicates that the type should not be printed
+ * out as a definition, for example, in models or during dumping.
+ */
+ enum
+ {
+ DATATYPE_FLAG_NONE = 0,
+ DATATYPE_FLAG_PLACEHOLDER = 1
+ }; /* enum */
+
/** Make a type representing the given datatype. */
- DatatypeType mkDatatypeType(Datatype& datatype);
+ DatatypeType mkDatatypeType(Datatype& datatype,
+ uint32_t flags = DATATYPE_FLAG_NONE);
/**
* Make a set of types representing the given datatypes, which may be
* mutually recursive.
*/
- std::vector<DatatypeType> mkMutualDatatypeTypes(std::vector<Datatype>& datatypes);
+ std::vector<DatatypeType> mkMutualDatatypeTypes(
+ std::vector<Datatype>& datatypes, uint32_t flags = DATATYPE_FLAG_NONE);
/**
* Make a set of types representing the given datatypes, which may
@@ -410,7 +423,10 @@ public:
* then no complicated Type needs to be created, and the above,
* simpler form of mkMutualDatatypeTypes() is enough.
*/
- std::vector<DatatypeType> mkMutualDatatypeTypes(std::vector<Datatype>& datatypes, std::set<Type>& unresolvedTypes);
+ std::vector<DatatypeType> mkMutualDatatypeTypes(
+ std::vector<Datatype>& datatypes,
+ std::set<Type>& unresolvedTypes,
+ uint32_t flags = DATATYPE_FLAG_NONE);
/**
* Make a type representing a constructor with the given parameterization.
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback