1 #ifndef __constraintExprData_h__
3 #define __constraintExprData_h__
12 constraintExprBinaryOpKind;
18 MAXSET, MINSET, MAXREAD, MINREAD,
21 constraintExprUnaryOpKind;
24 typedef struct constraintExprBinaryOp_
27 constraintExprBinaryOpKind binaryOp;
29 } constraintExprBinaryOp;
32 typedef struct constraintExprUnaryOp_
35 constraintExprUnaryOpKind unaryOp;
36 } constraintExprUnaryOp;
39 typedef union _constraintExprData
41 constraintExprBinaryOp binaryOp;
42 constraintExprUnaryOp unaryOp;
44 } * constraintExprData;
46 /*@constant null constraintExprData constraintExprData_undefined; @*/
47 # define constraintExprData_undefined ((constraintExprData)NULL)
49 extern /*@falsenull@*/ bool constraintExprData_isDefined (/*@observer@*/ /*@reldef@*/constraintExprData p_e) /*@*/ ;
50 extern /*@unused@*/ /*@truenull@*/ bool constraintExprData_isUndefined (constraintExprData p_e) /*@*/ ;
51 extern/*@unused@*/ /*@truenull@*/ bool constraintExprData_isError (constraintExprData p_e) /*@*/ ;
53 # define constraintExprData_isDefined(e) ((e) != constraintExprData_undefined)
54 # define constraintExprData_isUndefined(e) ((e) == constraintExprData_undefined)
55 # define constraintExprData_isError(e) ((e) == constraintExprData_undefined)
57 constraintExprData constraintExprData_termSetTerm (/*@reldef@*/ constraintExprData data, constraintTerm term);
59 constraintTerm constraintExprData_termGetTerm (/*@observer@*/ constraintExprData data) /*@*/;
61 constraintExprUnaryOpKind constraintExprData_unaryExprGetOp (/*@reldef@*/constraintExprData data) /*@*/;
63 constraintExpr constraintExprData_unaryExprGetExpr (/*@reldef@*/constraintExprData data) /*@*/;
66 // /*@special@*/ constraintExprData constraintExprData_unaryExprSetOp ( /*@out@*/ /*@special@*/ /*@returned@*/ constraintExprData data, constraintExprUnaryOpKind op) /*@sets result->unaryOp.unaryOp@*/;
69 constraintExprData constraintExprData_unaryExprSetOp (/*@reldef@*/ /*@returned@*/ constraintExprData data, constraintExprUnaryOpKind op);
71 constraintExprData constraintExprData_unaryExprSetExpr (/*@reldef@*/ /*@returned@*/ constraintExprData data, constraintExpr expr);
74 constraintExprBinaryOpKind constraintExprData_binaryExprGetOp (/*@reldef@*/constraintExprData data) /*@*/;
76 constraintExpr constraintExprData_binaryExprGetExpr1 (/*@reldef@*/constraintExprData data)/*@*/;
78 constraintExpr constraintExprData_binaryExprGetExpr2 (/*@reldef@*/constraintExprData data)/*@*/;
80 constraintExprData constraintExprData_binaryExprSetExpr1 (/*@reldef@*/ /*@returned@*/ constraintExprData data, constraintExpr expr) ;
82 constraintExprData constraintExprData_binaryExprSetExpr2 (/*@reldef@*/ /*@returned@*/ constraintExprData data, constraintExpr expr);
84 constraintExprData constraintExprData_binaryExprSetOp (/*@reldef@*/ /*@returned@*/ /*@out@*/constraintExprData data, constraintExprBinaryOpKind op);
86 constraintExprData constraintExprData_copyBinaryExpr(constraintExprData data);
88 constraintExprData constraintExprData_copyUnaryExpr(constraintExprData data);
90 constraintExprData constraintExprData_copyTerm (constraintExprData data);
94 #error "Multiple Include"