]> andersk Git - splint.git/blame - src/Headers/storeRefNode.h
Created html faq file to replace the faq.txt
[splint.git] / src / Headers / storeRefNode.h
CommitLineData
885824d3 1/*
c0de361f 2** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2003.
885824d3 3** See ../LICENSE for license information.
4*/
5
6typedef enum {
7 SRN_TERM, SRN_TYPE, SRN_OBJ, SRN_SPECIAL
8 } storeRefNodeKind;
9
28bf4b0b 10typedef struct {
885824d3 11 storeRefNodeKind kind;
12 union {
28bf4b0b 13 termNode term; /* for SRN_TERM */
14 lclTypeSpecNode type; /* for SRN_OBJ and SRN_TYPE */
15 /*@dependent@*/ sRef ref; /* for SRN_SPECIAL */
885824d3 16 } content;
17} *storeRefNode;
18
19extern storeRefNode storeRefNode_copy (storeRefNode p_x);
20
21extern bool storeRefNode_isTerm (storeRefNode p_x);
22# define storeRefNode_isTerm(x) ((x)->kind == SRN_TERM)
23
24extern bool storeRefNode_isObj (storeRefNode p_x);
25# define storeRefNode_isObj(x) ((x)->kind == SRN_OBJ)
26
27extern bool storeRefNode_isType (storeRefNode p_x);
28# define storeRefNode_isType(x) ((x)->kind == SRN_TYPE)
29
30extern bool storeRefNode_isSpecial (storeRefNode p_x);
31# define storeRefNode_isSpecial(x) ((x)->kind == SRN_SPECIAL)
32
33extern void storeRefNode_free (/*@only@*/ /*@null@*/ storeRefNode p_x);
This page took 0.161946 seconds and 5 git commands to generate.