1 #ifndef __constraintExprData_h__
3 #define __constraintExprData_h__
12 constraintExprBinaryOpKind;
17 MAXSET, MINSET, MAXREAD, MINREAD
19 constraintExprUnaryOpKind;
22 typedef struct constraintExprBinaryOp_
25 constraintExprBinaryOpKind binaryOp;
27 } constraintExprBinaryOp;
30 typedef struct constraintExprUnaryOp_
33 constraintExprUnaryOpKind unaryOp;
34 } constraintExprUnaryOp;
37 typedef union _constraintExprData
39 constraintExprBinaryOp binaryOp;
40 constraintExprUnaryOp unaryOp;
42 } * constraintExprData;
44 /*@constant null constraintExprData constraintExprData_undefined; @*/
45 # define constraintExprData_undefined ((constraintExprData)NULL)
47 extern /*@falsenull@*/ bool constraintExprData_isDefined (/*@observer@*/ /*@reldef@*/constraintExprData p_e) /*@*/ ;
48 extern /*@unused@*/ /*@truenull@*/ bool constraintExprData_isUndefined (constraintExprData p_e) /*@*/ ;
49 extern/*@unused@*/ /*@truenull@*/ bool constraintExprData_isError (constraintExprData p_e) /*@*/ ;
51 # define constraintExprData_isDefined(e) ((e) != constraintExprData_undefined)
52 # define constraintExprData_isUndefined(e) ((e) == constraintExprData_undefined)
53 # define constraintExprData_isError(e) ((e) == constraintExprData_undefined)
56 /*@reldef@*/ constraintExprData constraintExprData_termSetTerm (/*@reldef@*/ /*@returned@*/ constraintExprData data, /*@only@*/ constraintTerm term);
58 /*@observer@*/ constraintTerm constraintExprData_termGetTerm (/*@observer@*/ constraintExprData data) /*@*/;
60 constraintExprUnaryOpKind constraintExprData_unaryExprGetOp (/*@reldef@*/constraintExprData data) /*@*/;
62 /*@observer@*/ constraintExpr constraintExprData_unaryExprGetExpr (/*@reldef@*/constraintExprData data) /*@*/;
65 // /*@special@*/ constraintExprData constraintExprData_unaryExprSetOp ( /*@out@*/ /*@special@*/ /*@returned@*/ constraintExprData data, constraintExprUnaryOpKind op) /*@sets result->unaryOp.unaryOp@*/;
68 constraintExprData constraintExprData_unaryExprSetOp (/*@reldef@*/ /*@returned@*/ constraintExprData data, constraintExprUnaryOpKind op);
70 constraintExprData constraintExprData_unaryExprSetExpr (/*@reldef@*/ /*@returned@*/ constraintExprData data, /*@only@*/ constraintExpr expr);
73 constraintExprBinaryOpKind constraintExprData_binaryExprGetOp (/*@reldef@*/constraintExprData data) /*@*/;
75 /*@observer@*/ constraintExpr constraintExprData_binaryExprGetExpr1 (/*@reldef@*/constraintExprData data)/*@*/;
77 /*@observer@*/ constraintExpr constraintExprData_binaryExprGetExpr2 (/*@reldef@*/constraintExprData data)/*@*/;
79 constraintExprData constraintExprData_binaryExprSetExpr1 (/*@reldef@*/ /*@returned@*/ constraintExprData data, /*@only@*/ constraintExpr expr) ;
81 constraintExprData constraintExprData_binaryExprSetExpr2 (/*@reldef@*/ /*@returned@*/ constraintExprData data, /*@only@*/ constraintExpr expr);
83 constraintExprData constraintExprData_binaryExprSetOp (/*@reldef@*/ /*@returned@*/ /*@out@*/constraintExprData data, constraintExprBinaryOpKind op);
85 /*@only@*/ constraintExprData constraintExprData_copyBinaryExpr(constraintExprData data);
87 /*@only@*/ constraintExprData constraintExprData_copyUnaryExpr(constraintExprData data);
89 /*@only@*/ constraintExprData constraintExprData_copyTerm (constraintExprData data);
93 #error "Multiple Include"