]>
Commit | Line | Data |
---|---|---|
885824d3 | 1 | /* |
2 | ** filelocStack.h (from slist_templace.h) | |
3 | */ | |
4 | ||
5 | # ifndef FILELOCSTACK_H | |
6 | # define FILELOCSTACK_H | |
7 | ||
28bf4b0b | 8 | abst_typedef /*@null@*/ struct |
885824d3 | 9 | { |
10 | int nelements; | |
11 | int free; | |
12 | /*@reldef@*/ /*@relnull@*/ o_fileloc *elements; | |
13 | } *filelocStack ; | |
14 | ||
15 | /*@constant null filelocStack filelocStack_undefined; @*/ | |
16 | # define filelocStack_undefined (NULL) | |
17 | ||
18 | extern /*@falsenull@*/ bool filelocStack_isDefined (filelocStack p_f) /*@*/ ; | |
19 | # define filelocStack_isDefined(f) ((f) != filelocStack_undefined) | |
20 | ||
21 | extern int filelocStack_size (/*@sef@*/ filelocStack p_s) /*@*/ ; | |
22 | # define filelocStack_size(s) (filelocStack_isDefined (s) ? (s)->nelements : 0) | |
23 | ||
24 | extern int filelocStack_includeDepth (filelocStack p_s); | |
25 | extern void filelocStack_printIncludes (filelocStack p_s) /*@modifies g_msgstream@*/ ; | |
26 | ||
27 | extern void filelocStack_clear (filelocStack p_s) /*@modifies p_s@*/ ; | |
28 | ||
29 | extern /*@only@*/ filelocStack filelocStack_new (void) /*@*/ ; | |
30 | extern /*@observer@*/ fileloc filelocStack_nextTop (filelocStack p_s) /*@*/ ; | |
31 | ||
32 | extern bool | |
33 | filelocStack_popPushFile (filelocStack p_s, /*@only@*/ fileloc p_el) | |
34 | /*@modifies p_s@*/ ; | |
35 | ||
36 | extern /*@unused@*/ /*@only@*/ cstring filelocStack_unparse (filelocStack p_s) /*@*/ ; | |
37 | extern void filelocStack_free (/*@only@*/ filelocStack p_s) ; | |
38 | ||
39 | /*@constant int filelocStackBASESIZE;@*/ | |
40 | # define filelocStackBASESIZE MIDBASESIZE | |
41 | ||
42 | # endif | |
43 | ||
44 | ||
45 | ||
46 |