2 ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2001.
3 ** See ../LICENSE for license information.
12 typedef /*@null@*/ struct
14 /*@only@*/ fileloc loc;
15 /*@observer@*/ sRef ref;
16 /*@observer@*/ uentry ue;
19 /*@constant null stateInfo stateInfo_undefined@*/
20 # define stateInfo_undefined (NULL)
22 extern /*@falsenull@*/ bool stateInfo_isDefined (stateInfo p_s) /*@*/ ;
23 # define stateInfo_isDefined(p_s) ((p_s) != stateInfo_undefined)
25 extern void stateInfo_free (/*@only@*/ stateInfo p_a);
27 extern /*@only@*/ stateInfo stateInfo_update (/*@only@*/ stateInfo p_old, stateInfo p_newinfo);
29 extern /*@only@*/ stateInfo stateInfo_updateLoc (/*@only@*/ stateInfo p_old, fileloc p_loc) ;
31 extern /*@only@*/ stateInfo
32 stateInfo_updateRefLoc (/*@only@*/ stateInfo p_old, /*@exposed@*/ sRef p_ref, fileloc p_loc) ;
34 extern /*@only@*/ stateInfo stateInfo_copy (stateInfo p_a);
36 extern /*@only@*/ /*@notnull@*/ stateInfo stateInfo_currentLoc (void) ;
37 extern /*@only@*/ /*@notnull@*/ stateInfo stateInfo_makeLoc (fileloc p_loc) ;
38 extern /*@only@*/ stateInfo stateInfo_makeRefLoc (/*@exposed@*/ sRef p_ref, fileloc p_loc) ;
40 extern /*@observer@*/ fileloc stateInfo_getLoc (stateInfo p_info) ;
41 extern /*@only@*/ cstring stateInfo_unparse (stateInfo p_s) /*@*/ ;
44 # error "Multiple include"