]>
Commit | Line | Data |
---|---|---|
28bf4b0b | 1 | /* |
2 | ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2001. | |
3 | ** See ../LICENSE for license information. | |
4 | ** | |
5 | */ | |
6 | /* | |
7 | ** mtDeclarationPieces.h | |
8 | */ | |
9 | ||
10 | # ifndef mtDeclarationPieces_H | |
11 | # define mtDeclarationPieces_H | |
12 | ||
13 | struct s_mtDeclarationPieces { | |
14 | mtDeclarationPiece thisPiece; | |
15 | /*@null@*/ mtDeclarationPieces rest; | |
16 | } ; | |
17 | ||
18 | /* mtDeclarationPieces defined in forwardTypes.h */ | |
19 | ||
20 | /*@constant null mtDeclarationPieces mtDeclarationPieces_undefined; @*/ | |
21 | # define mtDeclarationPieces_undefined NULL | |
22 | ||
23 | extern /*@falsenull@*/ bool mtDeclarationPieces_isDefined(mtDeclarationPieces) /*@*/ ; | |
24 | # define mtDeclarationPieces_isDefined(p_h) ((p_h) != mtDeclarationPieces_undefined) | |
25 | ||
26 | extern /*@truenull@*/ bool mtDeclarationPieces_isUndefined(mtDeclarationPieces) /*@*/ ; | |
27 | # define mtDeclarationPieces_isUndefined(p_h) ((p_h) == mtDeclarationPieces_undefined) | |
28 | ||
29 | extern mtDeclarationPieces mtDeclarationPieces_create (void) /*@*/ ; | |
30 | ||
31 | extern /*@only@*/ mtDeclarationPieces | |
32 | mtDeclarationPieces_append (/*@only@*/ mtDeclarationPieces p_node, | |
33 | /*@only@*/ mtDeclarationPiece) | |
34 | /*@modifies p_node*/ ; | |
35 | ||
36 | extern /*@exposed@*/ mtDeclarationPiece | |
37 | mtDeclarationPieces_findPiece (mtDeclarationPieces, mtPieceKind) /*@*/ ; | |
38 | ||
39 | extern cstring mtDeclarationPieces_unparse (mtDeclarationPieces p_node) /*@*/ ; | |
40 | extern void mtDeclarationPieces_free (/*@only@*/ mtDeclarationPieces p_node) ; | |
41 | ||
42 | # else | |
43 | # error "Multiple include" | |
44 | # endif |