2 ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2001.
3 ** See ../LICENSE for license information.
13 typedef enum { PNORMAL, PYIELD, PELIPSIS } paramkind ;
14 /* add PREF later? PYIELD is for iterators only (~ POUT) */
17 /*@null@*/ lclTypeSpecNode type;
18 /*@null@*/ struct s_typeExpr *paramdecl;
22 extern void paramNode_free (/*@only@*/ /*@null@*/ paramNode p_x);
24 extern /*@null@*/ paramNode paramNode_copy (/*@null@*/ paramNode p_p);
25 extern /*@only@*/ cstring paramNode_unparse (paramNode p_x);
26 extern /*@only@*/ cstring paramNode_unparseComments (paramNode p_x);
28 extern bool paramNode_isElipsis (paramNode p_p);
29 extern bool paramNode_isYield (paramNode p_p);
31 # define paramNode_isElipsis(p) ((p)->kind == PELIPSIS)
32 # define paramNode_isYield(p) ((p)->kind == PYIELD)
35 # error "Multiple include"