2 ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2003.
3 ** See ../LICENSE for license information.
17 functionClauseList clauses
;
20 /*@constant null idDecl idDecl_undefined; @*/
21 # define idDecl_undefined ((idDecl) NULL)
23 extern /*@falsewhennull@*/ bool idDecl_isDefined (idDecl p_t
) /*@*/ ;
24 # define idDecl_isDefined(t) ((t) != idDecl_undefined)
26 extern void idDecl_free (/*@only@*/ idDecl p_t
);
27 extern /*@only@*/ idDecl
28 idDecl_create (/*@only@*/ cstring p_s
, /*@only@*/ qtype p_t
);
30 extern /*@only@*/ cstring
idDecl_unparse (idDecl p_d
) /*@*/ ;
31 extern /*@only@*/ cstring
idDecl_unparseC (idDecl p_d
) /*@*/ ;
32 extern /*@exposed@*/ qtype
idDecl_getTyp (idDecl p_d
) /*@*/ ;
33 extern void idDecl_setTyp (idDecl p_d
, /*@only@*/ qtype p_c
) /*@modifies p_d@*/ ;
34 extern idDecl
idDecl_expectFunction (/*@returned@*/ idDecl p_d
) /*@*/ ;
35 extern void idDecl_notExpectingFunction (idDecl p_d
) /*@modifies p_d@*/ ;
36 extern idDecl
idDecl_replaceCtype (/*@returned@*/ idDecl p_d
, ctype p_c
) /*@modifies p_d@*/ ;
37 extern idDecl
idDecl_fixBase (/*@returned@*/ idDecl p_t
, qtype p_b
) /*@modifies p_t@*/ ;
38 extern idDecl
idDecl_fixParamBase (/*@returned@*/ idDecl p_t
, qtype p_b
) /*@modifies p_t@*/ ;
40 extern void idDecl_addClauses (idDecl p_d
, /*@only@*/ functionClauseList
) /*@modifies p_d@*/ ;
42 extern ctype
idDecl_getCtype (idDecl p_d
) /*@*/ ;
43 extern /*@exposed@*/ qualList
idDecl_getQuals (idDecl p_d
) /*@*/ ;
44 extern /*@exposed@*/ functionClauseList
idDecl_getClauses (idDecl p_d
) /*@*/ ;
46 extern /*@dependent@*/ /*@observer@*/ cstring
idDecl_getName (idDecl p_t
) /*@*/ ;
47 extern /*@observer@*/ cstring
idDecl_observeId (idDecl p_d
) /*@*/ ;
48 extern void idDecl_addQual (idDecl p_d
, qual p_q
);
50 # define idDecl_getName(t) idDecl_observeId(t)
53 # error "Multiple include"