]> andersk Git - splint.git/blob - src/Headers/stateInfo.h
8ff6f27daa6882e8f49427c162e1585c25d78aa9
[splint.git] / src / Headers / stateInfo.h
1 /*
2 ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2001.
3 ** See ../LICENSE for license information.
4 */
5 /*
6 ** stateInfo.h
7 */
8
9 # ifndef STATEINFO_H
10 # define STATEINFO_H
11
12 typedef /*@null@*/ struct s_stateInfo *stateInfo ;
13
14
15 /*@null@*/ struct s_stateInfo
16 {
17   /*@only@*/ fileloc  loc;
18   /*@observer@*/ sRef ref;
19   /*@null@*/ stateInfo previous;
20 } ;
21
22 /*@constant null stateInfo stateInfo_undefined@*/
23 # define stateInfo_undefined (NULL)
24
25 extern /*@falsewhennull@*/ bool stateInfo_isDefined (stateInfo p_s) /*@*/ ;
26 # define stateInfo_isDefined(p_s) ((p_s) != stateInfo_undefined)
27
28 extern void stateInfo_free (/*@only@*/ stateInfo p_a);
29
30 extern /*@only@*/ stateInfo stateInfo_update (/*@only@*/ stateInfo p_old, stateInfo p_newinfo);
31
32 extern /*@only@*/ stateInfo stateInfo_updateLoc (/*@only@*/ stateInfo p_old, fileloc p_loc) ;
33
34 extern /*@only@*/ stateInfo 
35     stateInfo_updateRefLoc (/*@only@*/ stateInfo p_old, /*@exposed@*/ sRef p_ref, fileloc p_loc) ;
36
37 extern /*@only@*/ stateInfo stateInfo_copy (stateInfo p_a); 
38
39 extern /*@only@*/ /*@notnull@*/ stateInfo stateInfo_currentLoc (void) ;
40 extern /*@only@*/ /*@notnull@*/ stateInfo stateInfo_makeLoc (fileloc p_loc) ;
41 extern /*@only@*/ /*@notnull@*/ stateInfo stateInfo_makeRefLoc (/*@exposed@*/ sRef p_ref, fileloc p_loc) ;
42
43 extern /*@observer@*/ fileloc stateInfo_getLoc (stateInfo p_info) ;
44 extern /*@only@*/ cstring stateInfo_unparse (stateInfo p_s) /*@*/ ;
45
46 extern void stateInfo_display (stateInfo p_s, /*@only@*/ cstring p_sname) /*@modifies g_errorstream@*/ ;
47
48 # else
49 # error "Multiple include"
50 # endif
This page took 0.063571 seconds and 3 git commands to generate.