extern /*@observer@*/ cstring exprNode_unparseFirst (exprNode p_e) /*@*/ ;
extern /*@observer@*/ guardSet exprNode_getForGuards (exprNode p_pred) /*@*/ ;
+extern bool exprNode_loopMustExec (exprNode p_forPred) /*@*/ ;
+
extern bool exprNode_isNullValue (exprNode p_e) /*@*/ ;
extern /*@exposed@*/ sRef exprNode_getSref (exprNode p_e) /*@*/ ;
extern /*@exposed@*/ uentry exprNode_getUentry (exprNode p_e)
extern exprNode
exprNode_stringLiteral (/*@only@*/ cstring p_t, /*@only@*/ fileloc p_loc) /*@*/ ;
+extern /*@only@*/ exprNode
+ exprNode_wideStringLiteral (/*@only@*/ cstring p_t, /*@only@*/ fileloc p_loc) /*@*/ ;
+
/*
** No surrounding quotes.
*/
extern exprNode exprNode_createTok (/*@only@*/ lltok p_t) /*@*/ ;
extern exprNode exprNode_statement (/*@only@*/ exprNode p_e, /*@only@*/ lltok p_t);
extern exprNode exprNode_makeBlock (/*@only@*/ exprNode p_e);
+
+extern void exprNode_checkIfPred (exprNode p_pred) /*@modifies g_msgstream@*/ ;
+
extern exprNode exprNode_if (/*@only@*/ exprNode p_pred, /*@only@*/ exprNode p_tclause);
extern exprNode
exprNode_ifelse (/*@only@*/ exprNode p_pred, /*@only@*/ exprNode p_tclause,