]> andersk Git - splint.git/blob - src/Headers/idDecl.h
Updated copyrights
[splint.git] / src / Headers / idDecl.h
1 /*
2 ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2003.
3 ** See ../LICENSE for license information.
4 **
5 */
6 /*
7 ** idDecl.h
8 */
9
10 # ifndef idDecl_H
11 # define idDecl_H
12
13 struct s_idDecl
14 {
15   cstring id;
16   qtype   typ;
17   functionClauseList clauses;
18 } ; 
19
20 /*@constant null idDecl idDecl_undefined; @*/
21 # define idDecl_undefined ((idDecl) NULL)
22
23 extern /*@falsewhennull@*/ bool idDecl_isDefined (idDecl p_t) /*@*/ ;
24 # define idDecl_isDefined(t) ((t) != idDecl_undefined)
25
26 extern void idDecl_free (/*@only@*/ idDecl p_t);
27 extern /*@only@*/ idDecl 
28    idDecl_create (/*@only@*/ cstring p_s, /*@only@*/ qtype p_t);
29
30 extern /*@only@*/ idDecl 
31   idDecl_createClauses (/*@only@*/ cstring p_s, /*@only@*/ qtype p_t,
32                         /*@only@*/ functionClauseList p_clauses);
33
34 extern /*@only@*/ cstring idDecl_unparse (idDecl p_d) /*@*/ ;
35 extern /*@only@*/ cstring idDecl_unparseC (idDecl p_d) /*@*/ ;
36 extern /*@exposed@*/ qtype idDecl_getTyp (idDecl p_d) /*@*/ ;
37 extern void idDecl_setTyp (idDecl p_d, /*@only@*/ qtype p_c) /*@modifies p_d@*/ ;
38 extern idDecl idDecl_expectFunction (/*@returned@*/ idDecl p_d) /*@*/ ;
39 extern void idDecl_notExpectingFunction (idDecl p_d) /*@modifies p_d@*/ ;
40 extern idDecl idDecl_replaceCtype (/*@returned@*/ idDecl p_d, ctype p_c) /*@modifies p_d@*/ ;
41 extern idDecl idDecl_fixBase (/*@returned@*/ idDecl p_t, qtype p_b) /*@modifies p_t@*/ ;
42 extern idDecl idDecl_fixParamBase (/*@returned@*/ idDecl p_t, qtype p_b) /*@modifies p_t@*/ ;
43
44 extern void idDecl_addClauses (idDecl p_d, /*@only@*/ functionClauseList) /*@modifies p_d@*/ ;
45
46 extern ctype idDecl_getCtype (idDecl p_d) /*@*/ ;
47 extern /*@exposed@*/ qualList idDecl_getQuals (idDecl p_d) /*@*/ ; 
48 extern /*@exposed@*/ functionClauseList idDecl_getClauses (idDecl p_d) /*@*/ ;
49
50 extern /*@dependent@*/ /*@observer@*/ cstring idDecl_getName (idDecl p_t) /*@*/ ;
51 extern /*@observer@*/ cstring idDecl_observeId (idDecl p_d) /*@*/ ;
52 extern void idDecl_addQual (idDecl p_d, qual p_q);
53
54 # define idDecl_getName(t) idDecl_observeId(t)
55
56 # else
57 # error "Multiple include"
58 # endif
59
60
This page took 0.15426 seconds and 5 git commands to generate.