2 ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2000.
3 ** See ../LICENSE for license information.
19 /*@constant null idDecl idDecl_undefined; @*/
20 # define idDecl_undefined ((idDecl) NULL)
22 extern /*@falsenull@*/ bool idDecl_isDefined (idDecl p_t) /*@*/ ;
23 # define idDecl_isDefined(t) ((t) != idDecl_undefined)
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) /*@*/ ;
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);
42 # define idDecl_getName(t) idDecl_observeId(t)
45 # error "Multiple include"