]>
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 | { | |
9 | LTS_TYPE, LTS_STRUCTUNION, | |
10 | LTS_ENUM, LTS_CONJ | |
11 | } lclTypeSpecKind; | |
12 | ||
13 | typedef lclTypeSpecNode lcltsp; | |
14 | ||
28bf4b0b | 15 | typedef struct |
885824d3 | 16 | { |
17 | lcltsp a; | |
18 | lcltsp b; | |
19 | } *lclconj; | |
20 | ||
28bf4b0b | 21 | struct s_lclTypeSpecNode { |
885824d3 | 22 | lclTypeSpecKind kind; |
23 | qualList quals; | |
24 | union { | |
25 | /*@null@*/ CTypesNode type; | |
26 | /*@null@*/ strOrUnionNode structorunion; | |
27 | /*@null@*/ enumSpecNode enumspec; | |
28 | lclconj conj; | |
29 | } content; | |
30 | int pointers; | |
31 | } ; | |
32 | ||
33 | /*@constant null lclTypeSpecNode lclTypeSpecNode_undefined; @*/ | |
34 | # define lclTypeSpecNode_undefined ((lclTypeSpecNode) 0) | |
35 | ||
36 | extern /*@falsenull@*/ bool lclTypeSpecNode_isDefined (lclTypeSpecNode p_x) /*@*/ ; | |
37 | # define lclTypeSpecNode_isDefined(x) ((x) != lclTypeSpecNode_undefined) | |
38 | ||
39 | extern /*@null@*/ /*@only@*/ lclTypeSpecNode | |
40 | lclTypeSpecNode_copy (/*@null@*/ lclTypeSpecNode p_n) /*@*/ ; | |
41 | ||
42 | extern /*@only@*/ cstring | |
43 | lclTypeSpecNode_unparse (/*@null@*/ lclTypeSpecNode p_n) /*@*/ ; | |
44 | ||
45 | extern /*@only@*/ cstring | |
46 | lclTypeSpecNode_unparseComments (/*@null@*/ lclTypeSpecNode p_typespec) /*@*/ ; | |
47 | ||
48 | ||
49 | ||
50 | ||
51 | ||
52 |