]> andersk Git - splint.git/blob - src/Headers/letDeclNodeList.h
Updated copyrights
[splint.git] / src / Headers / letDeclNodeList.h
1 /*
2 ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2003.
3 ** See ../LICENSE for license information.
4 **
5 */
6 # ifndef LETDECLNODELIST_H
7 # define LETDECLNODELIST_H
8
9 typedef /*@only@*/ letDeclNode o_letDeclNode;
10
11 abst_typedef struct
12 {
13   int nelements;
14   int nspace;
15   /*@reldef@*/ /*@relnull@*/ o_letDeclNode  *elements;
16 } *letDeclNodeList ;
17
18 /*@iter letDeclNodeList_elements (sef letDeclNodeList x, yield exposed letDeclNode el); @*/
19 # define letDeclNodeList_elements(x, m_el) \
20    { int m_ind; letDeclNode *m_elements = &((x)->elements[0]); \
21      for (m_ind = 0 ; m_ind < (x)->nelements; m_ind++) \
22        { letDeclNode m_el = *(m_elements++); 
23
24 # define end_letDeclNodeList_elements }}
25
26 extern /*@only@*/ letDeclNodeList letDeclNodeList_new(void);
27 extern letDeclNodeList 
28   letDeclNodeList_add (/*@returned@*/ letDeclNodeList p_s, /*@only@*/ letDeclNode p_el);
29
30 extern /*@only@*/ cstring letDeclNodeList_unparse (letDeclNodeList p_s) ;
31 extern void letDeclNodeList_free (/*@only@*/ letDeclNodeList p_s) ;
32
33 /*@constant int letDeclNodeListBASESIZE;@*/
34 # define letDeclNodeListBASESIZE SMALLBASESIZE
35
36 # else
37 # error "Multiple include"
38 # endif
39
40
41
42
This page took 1.180523 seconds and 5 git commands to generate.