+ if (functionConstraint_isDefined (node))
+ {
+ return node->kind == FCT_BUFFER
+ || (node->kind == FCT_CONJUNCT
+ && (functionConstraint_hasBufferConstraint (node->constraint.conjunct.op1)
+ || functionConstraint_hasBufferConstraint (node->constraint.conjunct.op2)));
+ }
+ else
+ {
+ return FALSE;
+ }
+}
+
+extern bool functionConstraint_hasMetaStateConstraint (functionConstraint node)
+{
+ if (functionConstraint_isDefined (node))
+ {
+ return node->kind == FCT_METASTATE
+ || (node->kind == FCT_CONJUNCT
+ && (functionConstraint_hasMetaStateConstraint (node->constraint.conjunct.op1)
+ || functionConstraint_hasMetaStateConstraint (node->constraint.conjunct.op2)));
+ }
+ else
+ {
+ return FALSE;
+ }