/*
** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2003.
** See ../LICENSE for license information.
**
*/
/*
** mtMergeItem.h
*/
# ifndef MTMERGEITEM_H
# define MTMERGEITEM_H
struct s_mtMergeItem {
enum { MTMK_VALUE, MTMK_STAR } kind;
cstring value; /* for MTAK_VALUE only */
fileloc loc;
} ;
extern void mtMergeItem_free (/*@only@*/ mtMergeItem p_node) ;
extern cstring mtMergeItem_unparse (mtMergeItem p_node) /*@*/ ;
extern mtMergeItem
mtMergeItem_createValue (/*@only@*/ mttok p_value) /*@*/ ;
extern mtMergeItem
mtMergeItem_createStar (/*@only@*/ mttok p_value) /*@*/ ;
extern bool mtMergeItem_isStar (mtMergeItem) /*@*/ ;
# define mtMergeItem_isStar(p_mi) ((p_mi)->kind == MTMK_STAR)
extern /*@observer@*/ cstring mtMergeItem_getValue (mtMergeItem) /*@*/ ;
# define mtMergeItem_getValue(node) ((node)->value)
extern /*@observer@*/ fileloc mtMergeItem_getLoc (mtMergeItem) /*@*/ ;
# define mtMergeItem_getLoc(node) ((node)->loc)
# else
# error "Multiple include"
# endif
syntax highlighted by Code2HTML, v. 0.9.1