2 ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2000.
3 ** See ../LICENSE for license information.
11 TEXPR_BASE, TEXPR_PTR, TEXPR_ARRAY, TEXPR_FCN
16 int wrapped; /* number of balanced parentheses around this program node */
17 typeExprKind kind; /* different kinds of type constructors */
20 /*@null@*/ typeExpr pointer;
22 /*@null@*/ typeExpr elementtype;
23 /*@null@*/ termNode size;
26 /*@null@*/ typeExpr returntype; /* not really ... return-part maybe */
33 extern void typeExpr_free (/*@only@*/ /*@null@*/ typeExpr p_x);
34 extern /*@only@*/ cstring typeExpr_unparse (/*@null@*/ typeExpr p_x);
35 extern /*@only@*/ cstring typeExpr_unparseNoBase (/*@null@*/ typeExpr p_x);
37 /* like a declaratorNode but without varId */
38 typedef typeExpr abstDeclaratorNode;
40 extern void abstDeclaratorNode_free (/*@only@*/ /*@null@*/ abstDeclaratorNode p_x);
41 # define abstDeclaratorNode_free(x) typeExpr_free(x);