]>
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 | ** mtMergeItem.h | |
8 | */ | |
9 | ||
10 | # ifndef MTMERGEITEM_H | |
11 | # define MTMERGEITEM_H | |
12 | ||
13 | struct s_mtMergeItem { | |
14 | enum { MTMK_VALUE, MTMK_STAR } kind; | |
15 | cstring value; /* for MTAK_VALUE only */ | |
16 | fileloc loc; | |
17 | } ; | |
18 | ||
19 | extern void mtMergeItem_free (/*@only@*/ mtMergeItem p_node) ; | |
20 | ||
21 | extern cstring mtMergeItem_unparse (mtMergeItem p_node) /*@*/ ; | |
22 | ||
23 | extern mtMergeItem | |
24 | mtMergeItem_createValue (/*@only@*/ mttok p_value) /*@*/ ; | |
25 | ||
26 | extern mtMergeItem | |
27 | mtMergeItem_createStar (/*@only@*/ mttok p_value) /*@*/ ; | |
28 | ||
29 | extern bool mtMergeItem_isStar (mtMergeItem) /*@*/ ; | |
30 | # define mtMergeItem_isStar(p_mi) ((p_mi)->kind == MTMK_STAR) | |
31 | ||
32 | extern /*@observer@*/ cstring mtMergeItem_getValue (mtMergeItem) /*@*/ ; | |
33 | # define mtMergeItem_getValue(node) ((node)->value) | |
34 | ||
35 | extern /*@observer@*/ fileloc mtMergeItem_getLoc (mtMergeItem) /*@*/ ; | |
36 | # define mtMergeItem_getLoc(node) ((node)->loc) | |
37 | ||
38 | # else | |
39 | # error "Multiple include" | |
40 | # endif |