]> andersk Git - splint.git/blame - src/Headers/stateClause.h
Fixed some splintme errors from the previous code change.
[splint.git] / src / Headers / stateClause.h
CommitLineData
28bf4b0b 1/*
c0de361f 2** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2003.
28bf4b0b 3** See ../LICENSE for license information.
4*/
5/*
6** stateClause.h
7*/
8
9# ifndef STATECLAUSE_H
10# define STATECLAUSE_H
11
12typedef enum
13{
14 SP_USES,
15 SP_DEFINES,
16 SP_ALLOCATES,
17 SP_RELEASES,
18 SP_SETS,
19 SP_QUAL,
20 SP_GLOBAL
21} stateClauseKind ;
22
23typedef enum
24{
25 TK_BEFORE,
26 TK_AFTER,
27 TK_BOTH
28} stateConstraint;
29
30struct s_stateClause
31{
32 stateConstraint state;
33 stateClauseKind kind;
34 qual squal; /* only for SP_QUAL and SP_GLOBAL */
35 sRefSet refs;
36 fileloc loc;
37} ;
38
39/* in forwardTypes.h: abst_typedef struct _stateClause *stateClause; */
40
41typedef /*@only@*/ stateClause o_stateClause;
42
43extern /*@unused@*/ cstring stateClause_unparse (stateClause p_s) /*@*/ ;
44
45extern /*@null@*/ sRefMod
46 stateClause_getEffectFunction (stateClause p_cl) /*@*/ ;
47
48extern /*@null@*/ sRefModVal
49 stateClause_getEnsuresFunction (stateClause p_cl) /*@*/ ;
50
51extern /*@null@*/ sRefModVal
52 stateClause_getRequiresBodyFunction (stateClause p_cl) /*@*/ ;
53
54extern int
55 stateClause_getStateParameter (stateClause p_cl) /*@*/ ;
56
57extern /*@null@*/ sRefMod
58 stateClause_getReturnEffectFunction (stateClause p_cl) /*@*/ ;
59
60extern /*@null@*/ sRefMod
61 stateClause_getEntryFunction (stateClause p_cl) /*@*/ ;
62
63extern bool stateClause_isGlobal (stateClause p_cl) /*@*/ ;
64# define stateClause_isGlobal(cl) ((cl)->kind == SP_GLOBAL)
65
66extern bool stateClause_isBefore (stateClause p_cl) /*@*/ ;
67extern bool stateClause_isBeforeOnly (stateClause p_cl) /*@*/ ;
68extern bool stateClause_isAfter (stateClause p_cl) /*@*/ ;
69extern bool stateClause_isEnsures (stateClause p_cl) /*@*/ ;
70
71extern bool stateClause_sameKind (stateClause p_s1, stateClause p_s2) /*@*/ ;
72
73extern /*@observer@*/ sRefSet stateClause_getRefs (stateClause p_cl) /*@*/ ;
74# define stateClause_getRefs(cl) ((cl)->refs)
75
76extern flagcode stateClause_preErrorCode (stateClause p_cl) /*@*/ ;
77extern /*@observer@*/ cstring
78 stateClause_preErrorString (stateClause p_cl, sRef p_sr) /*@*/ ;
79
80extern flagcode stateClause_postErrorCode (stateClause p_cl) /*@*/ ;
81extern /*@observer@*/ cstring
82 stateClause_postErrorString (stateClause p_cl, sRef p_sr) /*@*/ ;
83
84extern sRefTest stateClause_getPreTestFunction (stateClause p_cl) /*@*/ ;
85extern sRefTest stateClause_getPostTestFunction (stateClause p_cl) /*@*/ ;
86extern sRefShower stateClause_getPostTestShower (stateClause p_cl) /*@*/ ;
87
88extern stateClause
89 stateClause_create (lltok p_tok, qual p_q, /*@only@*/ sRefSet p_s) /*@*/ ;
90
91extern stateClause
92 stateClause_createPlain (lltok p_tok, /*@only@*/ sRefSet p_s) /*@*/ ;
93
94extern stateClause stateClause_createDefines (/*@only@*/ sRefSet p_s) /*@*/ ;
95extern stateClause stateClause_createUses (/*@only@*/ sRefSet p_s) /*@*/ ;
96extern stateClause stateClause_createAllocates (/*@only@*/ sRefSet p_s) /*@*/ ;
97extern stateClause stateClause_createReleases (/*@only@*/ sRefSet p_s) /*@*/ ;
98extern stateClause stateClause_createSets (/*@only@*/ sRefSet p_s) /*@*/ ;
99
100extern /*@observer@*/ fileloc stateClause_loc (stateClause) /*@*/ ;
101extern bool stateClause_isMemoryAllocation (stateClause p_cl) /*@*/ ;
3e3ec469 102extern bool stateClause_isQual (stateClause p_cl) /*@*/ ;
103
28bf4b0b 104extern void stateClause_free (/*@only@*/ stateClause p_s) ;
105extern cstring stateClause_dump (stateClause p_s) /*@*/ ;
106extern stateClause stateClause_undump (char **p_s) /*@modifies *p_s@*/ ;
107extern stateClause stateClause_copy (stateClause p_s) /*@*/ ;
108extern bool stateClause_matchKind (stateClause p_s1, stateClause p_s2) /*@*/ ;
109
110extern bool stateClause_hasEnsures (stateClause p_cl) /*@*/ ;
111extern bool stateClause_hasRequires (stateClause p_cl) /*@*/ ;
112
113extern bool stateClause_setsMetaState (stateClause p_cl) /*@*/ ;
114extern qual stateClause_getMetaQual (stateClause p_cl) /*@*/ ;
115
f6099dac 116extern bool stateClause_hasEmptyReferences (stateClause p_s);
117
118extern bool stateClause_isMetaState (stateClause p_s);
119
28bf4b0b 120# else
121# error "Multiple include"
122# endif
123
124
This page took 0.079081 seconds and 5 git commands to generate.