]>
Commit | Line | Data |
---|---|---|
885824d3 | 1 | /* |
2 | ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2000. | |
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 _idDecl | |
14 | { | |
15 | cstring id; | |
16 | qtype typ; | |
17 | } ; | |
18 | ||
19 | /*@constant null idDecl idDecl_undefined; @*/ | |
20 | # define idDecl_undefined ((idDecl) NULL) | |
21 | ||
22 | extern /*@falsenull@*/ bool idDecl_isDefined (idDecl p_t) /*@*/ ; | |
23 | # define idDecl_isDefined(t) ((t) != idDecl_undefined) | |
24 | ||
25 | extern void idDecl_free (/*@only@*/ idDecl p_t); | |
26 | extern /*@only@*/ idDecl | |
27 | idDecl_create (/*@only@*/ cstring p_s, /*@only@*/ qtype p_t); | |
28 | extern /*@only@*/ cstring idDecl_unparse (idDecl p_d); | |
29 | extern /*@exposed@*/ qtype idDecl_getTyp (idDecl p_d); | |
30 | extern void idDecl_setTyp (idDecl p_d, /*@only@*/ qtype p_c); | |
31 | extern idDecl idDecl_expectFunction (/*@returned@*/ idDecl p_d); | |
32 | extern idDecl idDecl_replaceCtype (/*@returned@*/ idDecl p_d, ctype p_c); | |
33 | extern idDecl idDecl_fixBase (/*@returned@*/ idDecl p_t, qtype p_b); | |
34 | extern idDecl idDecl_fixParamBase (/*@returned@*/ idDecl p_t, qtype p_b); | |
35 | extern ctype idDecl_getCtype (idDecl p_d) /*@*/ ; | |
36 | extern /*@exposed@*/ qualList idDecl_getQuals (idDecl p_d) /*@*/ ; | |
37 | ||
38 | extern /*@dependent@*/ /*@observer@*/ cstring idDecl_getName (idDecl p_t) /*@*/ ; | |
39 | extern /*@observer@*/ cstring idDecl_observeId (idDecl p_d) /*@*/ ; | |
40 | extern void idDecl_addQual (idDecl p_d, qual p_q); | |
41 | ||
42 | # define idDecl_getName(t) idDecl_observeId(t) | |
43 | ||
44 | # else | |
45 | # error "Multiple include" | |
46 | # endif | |
47 | ||
48 |