2 ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2003.
3 ** See ../LICENSE for license information.
7 ** mtDeclarationPieces.h
10 # ifndef mtDeclarationPieces_H
11 # define mtDeclarationPieces_H
13 struct s_mtDeclarationPieces {
14 mtDeclarationPiece thisPiece;
15 /*@null@*/ mtDeclarationPieces rest;
18 /* mtDeclarationPieces defined in forwardTypes.h */
20 /*@constant null mtDeclarationPieces mtDeclarationPieces_undefined; @*/
21 # define mtDeclarationPieces_undefined NULL
23 extern /*@falsewhennull@*/ bool mtDeclarationPieces_isDefined(mtDeclarationPieces) /*@*/ ;
24 # define mtDeclarationPieces_isDefined(p_h) ((p_h) != mtDeclarationPieces_undefined)
26 extern /*@nullwhentrue@*/ bool mtDeclarationPieces_isUndefined(mtDeclarationPieces) /*@*/ ;
27 # define mtDeclarationPieces_isUndefined(p_h) ((p_h) == mtDeclarationPieces_undefined)
29 extern mtDeclarationPieces mtDeclarationPieces_create (void) /*@*/ ;
31 extern /*@only@*/ mtDeclarationPieces
32 mtDeclarationPieces_append (/*@only@*/ mtDeclarationPieces p_node,
33 /*@only@*/ mtDeclarationPiece)
34 /*@modifies p_node*/ ;
36 extern /*@exposed@*/ mtDeclarationPiece
37 mtDeclarationPieces_findPiece (mtDeclarationPieces, mtPieceKind) /*@*/ ;
39 extern cstring mtDeclarationPieces_unparse (mtDeclarationPieces p_node) /*@*/ ;
40 extern void mtDeclarationPieces_free (/*@only@*/ mtDeclarationPieces p_node) ;
43 # error "Multiple include"