]>
Commit | Line | Data |
---|---|---|
885824d3 | 1 | /* |
28bf4b0b | 2 | ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2001. |
885824d3 | 3 | ** See ../LICENSE for license information. |
4 | ** | |
5 | */ | |
6 | ||
7 | typedef enum { | |
8 | INF_IMPORTS, INF_USES, | |
9 | INF_EXPORT, INF_PRIVATE | |
10 | } interfaceNodeKind; | |
11 | ||
28bf4b0b | 12 | typedef struct { |
885824d3 | 13 | interfaceNodeKind kind; /* which kind of interface node */ |
14 | union { | |
15 | /* evs 8 Sept 1993 */ | |
16 | importNodeList imports; /* a list of simpleId or TYPEDEF_NAME */ | |
17 | traitRefNodeList uses; /* a list of traitRef */ | |
18 | exportNode export; | |
19 | privateNode private; | |
20 | } content; /* can be empty */ | |
21 | /* the list that made up <interface> is chained thru next */ | |
22 | } *interfaceNode; | |
23 | ||
24 | extern /*@unused@*/ cstring interfaceNode_unparse (interfaceNode p_x); | |
25 | extern void interfaceNode_free (/*@null@*/ /*@only@*/ interfaceNode p_x); | |
26 | ||
27 |