]> andersk Git - splint.git/blame_incremental - src/Headers/paramNode.h
Created html faq file to replace the faq.txt
[splint.git] / src / Headers / paramNode.h
... / ...
CommitLineData
1/*
2** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2003.
3** See ../LICENSE for license information.
4**
5*/
6/*
7** paramNode.h
8*/
9
10# ifndef PARAMNODEH
11# define PARAMNODEH
12
13typedef enum { PNORMAL, PYIELD, PELIPSIS } paramkind ;
14/* add PREF later? PYIELD is for iterators only (~ POUT) */
15
16typedef struct {
17 /*@null@*/ lclTypeSpecNode type;
18 /*@null@*/ struct s_typeExpr *paramdecl;
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.045793 seconds and 5 git commands to generate.