}
constraintExprKind;
-struct _constraintExpr {
+struct s_constraintExpr {
constraintExprKind kind;
constraintExprData data;
};
+
/*@constant null constraintExpr constraintExpr_undefined; @*/
# define constraintExpr_undefined ((constraintExpr)NULL)
# define constraintExpr_isError(e) ((e) == constraintExpr_undefined)
+void constraintExpr_free ( /*@only@*/ constraintExpr p_expr);
-int constraintExpr_getValue (constraintExpr expr) /*@*/;
+constraintExpr constraintExpr_setFileloc (/*@returned@*/ constraintExpr p_c, fileloc p_loc) /*@modifies p_c@*/;
-constraintExpr constraintExpr_setFileloc (constraintExpr expr, fileloc loc) /*@modifies expr@*/;
+constraintExpr constraintExpr_copy (constraintExpr p_expr) /*@*/;
-constraintExpr constraintExpr_copy (constraintExpr expr) /*@*/;
+/*@only@*/ cstring constraintExpr_unparse (/*@temp@*/ /*@observer@*/ constraintExpr p_ex) /*@*/;
+extern cstring constraintExpr_print (constraintExpr p_expr) /*@*/;
-cstring constraintExpr_unparse (constraintExpr ex) /*@*/;
-extern cstring constraintExpr_print (constraintExpr expr) /*@*/;
+bool constraintExpr_similar (constraintExpr p_expr1, constraintExpr p_expr2) /*@*/;
+bool constraintExpr_same (constraintExpr p_expr1, constraintExpr p_expr2) /*@*/;
+/*@only@*/ constraintExpr constraintExpr_searchandreplace (/*@only@*/ /*@unique@*/ constraintExpr p_c, /*@temp@*/ /*@observer@*/ constraintExpr p_old, /*@temp@*/ /*@observer@*/ constraintExpr p_newExpr ) /*@modifies p_c@*/;
-bool constraintExpr_similar (constraintExpr expr1, constraintExpr expr2) /*@*/;
-bool constraintExpr_same (constraintExpr expr1, constraintExpr expr2) /*@*/;
-constraintExpr constraintExpr_searchandreplace (constraintExpr c, constraintExpr old, constraintExpr new ) /*@modifies c@*/;
-bool constraintExpr_canGetValue (constraintExpr expr) /*@*/;
+bool constraintExpr_canGetValue (constraintExpr p_expr) /*@*/;
+long constraintExpr_getValue (constraintExpr p_expr) /*@*/;
-int constraintExpr_compare (constraintExpr expr1, constraintExpr expr2) /*@*/;
+int constraintExpr_compare (constraintExpr p_expr1, constraintExpr p_expr2) /*@*/;
-//constraintExpr constraintExpr_makeValueInt (int i);
+/* constraintExpr constraintExpr_makeValueInt (int i); */
-constraintExpr constraintExpr_makeIntLiteral (int i);
+/*@only@*/ constraintExpr constraintExpr_makeIntLiteral (long p_i);
-constraintExpr constraintExpr_makeValueExpr (exprNode expr);
+/*@only@*/ constraintExpr constraintExpr_makeValueExpr (/*@exposed@*/ exprNode p_expr);
-constraintExpr constraintExpr_makeMaxSetExpr (exprNode expr);
+/*@only@*/ constraintExpr constraintExpr_makeMaxSetExpr (/*@exposed@*/ exprNode p_expr);
-constraintExpr constraintExpr_makeMaxReadExpr (exprNode expr);
+/*@only@*/ constraintExpr constraintExpr_makeMaxReadExpr (/*@exposed@*/ exprNode p_expr);
-constraintExpr constraintExpr_makeIncConstraintExpr (constraintExpr expr);
+/*@only@*/ constraintExpr constraintExpr_makeIncConstraintExpr (/*@only@*/ constraintExpr p_expr);
-constraintExpr constraintExpr_makeDecConstraintExpr (constraintExpr expr);
+/*@only@*/ constraintExpr constraintExpr_makeDecConstraintExpr (/*@only@*/ constraintExpr p_expr);
-constraintExpr constraintExpr_simplify (constraintExpr c) /*@modifies c@*/;
+/*@only@*/ constraintExpr constraintExpr_simplify (/*@only@*/ constraintExpr p_c);
-constraintExpr constraintExpr_solveBinaryExpr (constraintExpr lexpr, constraintExpr expr) /*@modifies lexpr@*/;
+/*@only@*/ constraintExpr constraintExpr_solveBinaryExpr (constraintExpr p_lexpr, /*@only@*/ constraintExpr p_expr) /*@modifies p_lexpr, p_expr @*/;
-bool constraintExpr_search (constraintExpr c, constraintExpr old) /*@*/;
+bool constraintExpr_search (/*@observer@*/ /*@temp@*/ constraintExpr p_c, /*@observer@*/ /*@temp@*/ constraintExpr p_old);
-fileloc constraintExpr_getFileloc (constraintExpr expr);
+/*@only@*/ fileloc constraintExpr_getFileloc (constraintExpr p_expr);
-constraintExpr constraintExpr_makeBinaryOpConstraintExprIntLiteral (constraintExpr expr, int literal);
-constraintExpr constraintExpr_makeSRefMaxset (sRef s);
+/*@only@*/ constraintExpr constraintExpr_makeSRefMaxset ( /*@temp@*/ /*@observer@*/ sRef p_s);
-constraintExpr constraintExpr_makeTermsRef (sRef s);
-constraintExpr constraintExpr_doSRefFixBaseParam ( /*@returned@*/ constraintExpr expr, exprNodeList arglist);
-constraintExpr constraintExpr_makeExprNode (exprNode e);
+/*@only@*/ constraintExpr constraintExpr_makeSRefMaxRead(/*@temp@*/ /*@observer@*/ sRef p_s);
-constraintExpr constraintExpr_doFixResult (/*@returned@*/ constraintExpr expr, exprNode fcnCall);
-bool constraintExpr_isLit (constraintExpr expr);
-constraintExpr constraintExpr_makeAddConstraintExpr (constraintExpr expr, constraintExpr add);
+/*@only@*/ constraintExpr constraintExpr_makeTermsRef (/*@temp@*/ sRef p_s);
-constraintExpr constraintExpr_parseMakeUnaryOp (lltok op, constraintExpr cexpr);
+constraintExpr constraintExpr_doSRefFixBaseParam ( /*@returned@*/ constraintExpr p_expr, exprNodeList p_arglist);
-constraintExpr constraintExpr_parseMakeBinaryOp (constraintExpr expr1, lltok op, constraintExpr expr2);
+/*@only@*/ constraintExpr constraintExpr_makeExprNode (/*@dependent@*/ exprNode p_e);
-bool constraintExpr_hasMaxSet (constraintExpr expr);
+/*@only@*/ constraintExpr constraintExpr_doFixResult (/*@only@*/ constraintExpr p_expr, /*@observer@*/ exprNode p_fcnCall);
-//static constraintExpr constraintExpr_propagateConstants (constraintExpr expr,
-// /*@out@*/ bool * propagate,
-// /*@out@*/ int *literal);
+/*@falsenull@*/ bool constraintExpr_isLit (constraintExpr p_expr) /*@*/ ;
-constraintExpr constraintExpr_makeSRefMaxRead(sRef s);
+/*@only@*/ constraintExpr constraintExpr_makeAddExpr (/*@only@*/ constraintExpr p_expr, /*@only@*/ constraintExpr p_addent);
-constraintTerm constraintTerm_doSRefFixBaseParam (constraintTerm term, exprNodeList arglist) /*@modifies term@*/;
+/*@only@*/ constraintExpr constraintExpr_makeSubtractExpr (/*@only@*/ constraintExpr p_expr, /*@only@*/ constraintExpr p_addent);
-constraintExpr
-constraintExpr_doSRefFixConstraintParam (/*@returned@*/ constraintExpr e, exprNodeList arglist) /*@modifies e@*/;
+/*@only@*/ constraintExpr constraintExpr_parseMakeUnaryOp (lltok p_op,/*@only@*/ constraintExpr p_cexpr);
+constraintExpr constraintExpr_parseMakeBinaryOp (/*@only@*/ constraintExpr p_expr1, lltok p_op, /*@only@*/ constraintExpr p_expr2);
-#else
+bool constraintExpr_hasMaxSet (/*@observer@*/ /*@temp@*/ constraintExpr p_expr);
-# error "Multiple include"
+
+/*@only@*/ constraintExpr constraintExpr_doSRefFixConstraintParam (/*@returned@*/ /*@only@*/ constraintExpr p_expr, exprNodeList p_arglist) /*@modifies p_expr@*/;
+
+/*@only@*/
+constraintExpr constraintExpr_propagateConstants (/*@only@*/ constraintExpr p_expr,
+ /*@out@*/ bool * p_propagate,
+ /*@out@*/ int *p_literal);
+
+/*@falsenull@*/ bool constraintExpr_isBinaryExpr (/*@observer@*/ /*@temp@*/ constraintExpr p_c) /*@*/ ;
+
+extern void constraintExpr_dump (/*@observer@*/ /*@temp@*/ constraintExpr p_expr, FILE *p_f);
+
+extern /*@only@*/ constraintExpr constraintExpr_undump (FILE *p_f);
+
+extern /*@only@*/ constraintExpr constraintExpr_makeTermExprNode (/*@exposed@*/ exprNode p_e) ;
+
+/* drl added 8/8/001*/
+bool constraintExpr_isTerm (/*@observer@*/ /*@temp@*/ constraintExpr p_c);
+
+/* drl added 8/8/001*/
+/*@observer@*/ /*@temp@*/ constraintTerm constraintExpr_getTerm ( /*@temp@*/ /*@observer@*/ constraintExpr p_c);
+
+/* drl added 8/8/001*/
+int constraintExpr_getDepth (/*@observer@*/ /*@temp@*/ constraintExpr p_ex);
+
+
+#else
+# error "Multiple include"
#endif