4 ** freeShallow: free exprData created from exprNode_effect calls.
5 ** All but the innermost storage is free'd.
8 /*@only@*/ exprData exprData_makeLiteral (/*@only@*/ cstring p_s);
10 /*@only@*/ exprData exprData_makeId (/*@temp@*/ uentry p_id);
12 /*@only@*/ exprData exprData_makePair (/*@keep@*/ exprNode p_a, /*@keep@*/ exprNode p_b);
15 /*static*/ void exprData_freeShallow (/*@only@*/ exprData p_data, exprKind p_kind);
17 /*static*/ void exprData_free (/*@only@*/ exprData p_data, exprKind p_kind);
19 /*static*/ /*@exposed@*/ exprNode exprData_getInitNode (exprData p_data) /*@*/;
21 /*static*/ /*@exposed@*/ idDecl exprData_getInitId (exprData p_data) /*@*/;
23 /*static*/ /*@exposed@*/ exprNode exprData_getOpA (exprData p_data) /*@*/;
25 /*static*/ /*@exposed@*/ exprNode exprData_getOpB (exprData p_data) /*@*/;
27 /*static*/ /*@observer@*/ lltok exprData_getOpTok (exprData p_data) /*@*/;
29 /*static*/ /*@exposed@*/ exprNode exprData_getPairA (exprData p_data) /*@*/;
31 /*static*/ /*@exposed@*/ exprNode exprData_getPairB (exprData p_data) /*@*/;
33 /*static*/ /*@exposed@*/ uentry exprData_getIterSname (exprData p_data) /*@*/;
35 /*static*/ /*@exposed@*/ exprNodeList exprData_getIterAlist (exprData p_data) /*@*/;
37 /*static*/ /*@exposed@*/ exprNode exprData_getIterBody (exprData p_data) /*@*/;
39 /*static*/ /*@exposed@*/ uentry exprData_getIterEname (exprData p_data) /*@*/;
41 /*static*/ /*@exposed@*/ exprNode exprData_getFcn (exprData p_data) /*@*/;
43 /*static*/ /*@exposed@*/ exprNodeList exprData_getArgs (exprData p_data) /*@*/;
45 /*static*/ /*@exposed@*/ exprNode exprData_getTriplePred (exprData p_data) /*@*/;
47 /*static*/ /*@exposed@*/ uentry exprData_getIterCallIter (exprData p_data) /*@*/;
49 /*static*/ /*@exposed@*/ exprNodeList
50 exprData_getIterCallArgs (exprData p_data) /*@*/;
52 /*static*/ /*@exposed@*/ exprNode exprData_getTripleInit (exprData p_data) /*@*/;
54 /*static*/ /*@exposed@*/ exprNode exprData_getTripleTrue (exprData p_data) /*@*/;
56 /*static*/ /*@exposed@*/ exprNode exprData_getTripleTest (exprData p_data) /*@*/;
58 /*static*/ /*@exposed@*/ exprNode exprData_getTripleFalse (exprData p_data) /*@*/;
60 /*static*/ /*@exposed@*/ exprNode exprData_getTripleInc (exprData p_data) /*@*/;
62 /*static*/ /*@exposed@*/ exprNode exprData_getFieldNode (exprData p_data) /*@*/;
64 /*static*/ /*@exposed@*/ cstring exprData_getFieldName (exprData p_data) /*@*/;
66 /*static*/ /*@observer@*/ lltok exprData_getUopTok (exprData p_data) /*@*/;
68 /*static*/ /*@exposed@*/ exprNode exprData_getUopNode (exprData p_data) /*@*/;
70 /*static*/ /*@exposed@*/ exprNode exprData_getCastNode (exprData p_data) /*@*/;
72 /*static*/ /*@observer@*/ lltok exprData_getCastTok (exprData p_data) /*@*/;
74 /*static*/ /*@exposed@*/ qtype exprData_getCastType (exprData p_data) /*@*/;
76 /*static*/ /*@exposed@*/ cstring exprData_getLiteral (exprData p_data) /*@*/;
78 /*static*/ /*@exposed@*/ cstring exprData_getId (exprData p_data) /*@*/;
80 /*static*/ /*@observer@*/ lltok exprData_getTok (exprData p_data) /*@*/;
82 /*static*/ /*@exposed@*/ qtype exprData_getType (exprData p_data) /*@*/ ;
84 /*static*/ /*@exposed@*/ qtype exprData_getOffsetType (exprData p_data) /*@*/ ;
86 /*static*/ /*@exposed@*/ cstringList exprData_getOffsetName (exprData p_data) /*@*/ ;
88 /*static*/ /*@exposed@*/ exprNode exprData_getSingle (exprData p_data);
90 /*static*/ /*@only@*/ exprData
91 exprData_makeOp (/*@keep@*/ exprNode p_a, /*@keep@*/ exprNode p_b, /*@keep@*/ lltok p_op);
93 /*static*/ /*@only@*/ exprData exprData_makeUop (/*@keep@*/ exprNode p_a, /*@keep@*/ lltok p_op);
95 /*static*/ /*@only@*/ exprData exprData_makeSingle (/*@only@*/ exprNode p_a);
97 /*static*/ /*@only@*/ exprData exprData_makeTok (/*@only@*/ lltok p_op);
99 /*static*/ /*@only@*/ exprData
100 exprData_makeIter (/*@exposed@*/ uentry p_sname, /*@keep@*/ exprNodeList p_args,
101 /*@keep@*/ exprNode p_body, /*@exposed@*/ uentry p_ename);
103 /*static*/ /*@only@*/ exprData exprData_makeTriple (/*@keep@*/ exprNode p_pred,
104 /*@keep@*/ exprNode p_tbranch,
105 /*@keep@*/ exprNode p_fbranch);
107 /*static*/ /*@only@*/ exprData exprData_makeCall (/*@keep@*/ exprNode p_fcn,
108 /*@keep@*/ exprNodeList p_args);
111 /*static*/ /*@only@*/ exprData exprData_makeIterCall (/*@dependent@*/ uentry p_iter,
112 /*@keep@*/ exprNodeList p_args);
114 /*static*/ /*@only@*/ exprData exprData_makeField (/*@keep@*/ exprNode p_rec,
115 /*@keep@*/ cstring p_field);
117 /*static*/ /*@only@*/ exprData exprData_makeOffsetof (/*@only@*/ qtype p_q,
118 /*@keep@*/ cstringList p_s);
121 /*static*/ /*@only@*/ exprData exprData_makeSizeofType (/*@only@*/ qtype p_q);
123 /*static*/ /*@only@*/ exprData
124 exprData_makeCast (/*@keep@*/ lltok p_tok, /*@keep@*/ exprNode p_e, /*@only@*/ qtype p_q);
126 /*static*/ /*@only@*/ exprData
127 exprData_makeInit (/*@keep@*/ idDecl p_t, /*@keep@*/ exprNode p_e);
130 /*static*/ /*@only@*/ exprData exprData_makeCond (/*@keep@*/ exprNode p_pred,
131 /*@keep@*/ exprNode p_ifclause,
132 /*@keep@*/ exprNode p_elseclause);
134 /*static*/ /*@only@*/ exprData exprData_makeFor (/*@keep@*/ exprNode p_init,
135 /*@keep@*/ exprNode p_pred,
136 /*@keep@*/ exprNode p_inc);