]> andersk Git - splint.git/blame - src/Headers/paramNode.h
Updated copyrights
[splint.git] / src / Headers / paramNode.h
CommitLineData
885824d3 1/*
c0de361f 2** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2003.
885824d3 3** See ../LICENSE for license information.
4**
5*/
6/*
7** paramNode.h
8*/
9
10# ifndef PARAMNODEH
11# define PARAMNODEH
12
28bf4b0b 13typedef enum { PNORMAL, PYIELD, PELIPSIS } paramkind ;
885824d3 14/* add PREF later? PYIELD is for iterators only (~ POUT) */
15
28bf4b0b 16typedef struct {
885824d3 17 /*@null@*/ lclTypeSpecNode type;
28bf4b0b 18 /*@null@*/ struct s_typeExpr *paramdecl;
885824d3 19 paramkind kind;
20} *paramNode;
21
22extern void paramNode_free (/*@only@*/ /*@null@*/ paramNode p_x);
23
24extern /*@null@*/ paramNode paramNode_copy (/*@null@*/ paramNode p_p);
25extern /*@only@*/ cstring paramNode_unparse (paramNode p_x);
26extern /*@only@*/ cstring paramNode_unparseComments (paramNode p_x);
27
28extern bool paramNode_isElipsis (paramNode p_p);
29extern bool paramNode_isYield (paramNode p_p);
30
31# define paramNode_isElipsis(p) ((p)->kind == PELIPSIS)
32# define paramNode_isYield(p) ((p)->kind == PYIELD)
33
34# else
35# error "Multiple include"
36# endif
37
38
This page took 0.070392 seconds and 5 git commands to generate.