1 #ifndef __constraintExprData_h__
3 #define __constraintExprData_h__
11 constraintExprBinaryOpKind;
17 MAXSET, MINSET, MAXREAD, MINREAD,
20 constraintExprUnaryOpKind;
23 typedef struct constraintExprBinaryOp_
26 constraintExprBinaryOpKind binaryOp;
28 } constraintExprBinaryOp;
31 typedef struct constraintExprUnaryOp_
34 constraintExprUnaryOpKind unaryOp;
35 } constraintExprUnaryOp;
38 typedef union _constraintExprData
40 constraintExprBinaryOp binaryOp;
41 constraintExprUnaryOp unaryOp;
43 } * constraintExprData;
45 /*@constant null constraintExprData constraintExprData_undefined; @*/
46 # define constraintExprData_undefined ((constraintExprData)NULL)
48 extern /*@falsenull@*/ bool constraintExprData_isDefined (/*@observer@*/ /*@reldef@*/constraintExprData p_e) /*@*/ ;
49 extern /*@unused@*/ /*@truenull@*/ bool constraintExprData_isUndefined (constraintExprData p_e) /*@*/ ;
50 extern /*@truenull@*/ bool constraintExprData_isError (constraintExprData p_e) /*@*/ ;
52 # define constraintExprData_isDefined(e) ((e) != constraintExprData_undefined)
53 # define constraintExprData_isUndefined(e) ((e) == constraintExprData_undefined)
54 # define constraintExprData_isError(e) ((e) == constraintExprData_undefined)
56 constraintExprData constraintExprData_termSetTerm (/*@out@*/ constraintExprData data, constraintTerm term);
58 //constraintExprData constraintExprData_copy (constraintExprData data, constraintExprKind kind) /*@*/;
60 constraintTerm constraintExprData_termGetTerm (/*@observer@*/ constraintExprData data) /*@*/;
62 constraintExprUnaryOpKind constraintExprData_unaryExprGetOp (constraintExprData data) /*@*/;
64 constraintExpr constraintExprData_unaryExprGetExpr (constraintExprData data) /*@*/;
67 // /*@special@*/ constraintExprData constraintExprData_unaryExprSetOp ( /*@out@*/ /*@special@*/ /*@returned@*/ constraintExprData data, constraintExprUnaryOpKind op) /*@sets result->unaryOp.unaryOp@*/;
70 constraintExprData constraintExprData_unaryExprSetOp ( /*@out@*/ /*@returned@*/ constraintExprData data, constraintExprUnaryOpKind op);
72 constraintExprData constraintExprData_unaryExprSetExpr (/*@out@*/ /*@returns@*/ constraintExprData data, constraintExpr expr);
75 constraintExprBinaryOpKind constraintExprData_binaryExprGetOp (constraintExprData data) /*@*/;
77 constraintExpr constraintExprData_binaryExprGetExpr1 (constraintExprData data)/*@*/;
79 constraintExpr constraintExprData_binaryExprGetExpr2 (constraintExprData data)/*@*/;
81 /*@special@*/ constraintExprData constraintExprData_binaryExprSetExpr1 (/*@returned@*/ /*@special@*/constraintExprData data, constraintExpr expr) /*@defines result->binaryOp.expr1 @*/;
83 /*@special@*/ constraintExprData constraintExprData_binaryExprSetExpr2 (/*@returned@*/ /*@special@*/constraintExprData data, constraintExpr expr) /*@defines result->binaryOp.expr2 @*/;
85 /*@special@*/ constraintExprData constraintExprData_binaryExprSetOp (/*@returned@*/ /*@out@*/constraintExprData data, constraintExprBinaryOpKind op) /*@defines result->binaryOp.binaryOp@*/;
87 constraintExprData constraintExprData_copyBinaryExpr(constraintExprData data);
89 constraintExprData constraintExprData_copyUnaryExpr(constraintExprData data);
91 constraintExprData constraintExprData_copyTerm (constraintExprData data);
95 #error "Multiple Include"