/*
-** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2001.
+** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2003.
** See ../LICENSE for license information.
**
*/
# ifndef FUNCTIONCLAUSELIST_H
# define FUNCTIONCLAUSELIST_H
-/*@private@*/ typedef /*@only@*/ functionClause o_functionClause;
+/*:private:*/ typedef /*@only@*/ functionClause o_functionClause;
struct s_functionClauseList
{
/*@constant null functionClauseList functionClauseList_undefined;@*/
# define functionClauseList_undefined ((functionClauseList) NULL)
-extern /*@falsenull@*/ bool functionClauseList_isDefined (functionClauseList p_s) /*@*/ ;
+extern /*@falsewhennull@*/ bool functionClauseList_isDefined (functionClauseList p_s) /*@*/ ;
# define functionClauseList_isDefined(s) ((s) != functionClauseList_undefined)
-extern /*@truenull@*/ bool functionClauseList_isUndefined (functionClauseList p_s) /*@*/ ;
+extern /*@nullwhentrue@*/ bool functionClauseList_isUndefined (functionClauseList p_s) /*@*/ ;
# define functionClauseList_isUndefined(s) ((s) == functionClauseList_undefined)
extern int functionClauseList_size (/*@sef@*/ functionClauseList) /*@*/ ;
# define functionClauseList_size(s) (functionClauseList_isDefined (s) ? (s)->nelements : 0)
-extern /*@unused@*/ /*@falsenull@*/ bool functionClauseList_empty (/*@sef@*/ functionClauseList) /*@*/ ;
+extern /*@unused@*/ /*@falsewhennull@*/ bool functionClauseList_empty (/*@sef@*/ functionClauseList) /*@*/ ;
# define functionClauseList_empty(s) (functionClauseList_size(s) == 0)
extern cstring functionClauseList_unparseSep (functionClauseList p_s, cstring p_sep) /*@*/ ;
functionClauseList_add (/*@returned@*/ functionClauseList p_s, /*@keep@*/ functionClause p_el)
/*@modifies p_s@*/ ;
-extern functionClauseList
- functionClauseList_prepend (/*@returned@*/ functionClauseList p_s, /*@keep@*/ functionClause p_el)
+extern /*@only@*/ functionClauseList
+ functionClauseList_prepend (/*@only@*/ functionClauseList p_s, /*@keep@*/ functionClause p_el)
/*@modifies p_s@*/ ;
extern /*@unused@*/ /*@only@*/ cstring functionClauseList_unparse (functionClauseList p_s) ;
extern void functionClauseList_free (/*@only@*/ functionClauseList p_s) ;
+functionClauseList
+functionClauseList_setImplictConstraints (/*@returned@*/ functionClauseList p_s);
+
/*@constant int functionClauseListBASESIZE;@*/
# define functionClauseListBASESIZE MIDBASESIZE