1 #ifndef __constraintExprData_h__
2 #define __constraintExprData_h__
10 constraintExprBinaryOpKind;
15 MAXSET, MINSET, MAXREAD, MINREAD
17 constraintExprUnaryOpKind;
19 typedef struct constraintExprBinaryOp_
22 constraintExprBinaryOpKind binaryOp;
24 } constraintExprBinaryOp;
26 typedef struct constraintExprUnaryOp_
29 constraintExprUnaryOpKind unaryOp;
30 } constraintExprUnaryOp;
32 typedef union constraintExprData
34 constraintExprBinaryOp binaryOp;
35 constraintExprUnaryOp unaryOp;
37 } *constraintExprData;
39 extern /*@falsewhennull@*/ bool constraintExprData_isDefined (/*@temp@*/ /*@observer@*/ /*@reldef@*/ constraintExprData p_e) /*@*/ ;
40 # define constraintExprData_isDefined(e) ((e) != NULL)
42 extern void constraintExprData_freeBinaryExpr (/*@only@*/ constraintExprData) ;
43 extern void constraintExprData_freeUnaryExpr (/*@only@*/ constraintExprData) ;
44 extern void constraintExprData_freeTerm (/*@only@*/ constraintExprData) ;
46 extern constraintExprData constraintExprData_termSetTerm ( /*@returned@*/ /*@partial@*/ constraintExprData p_data, /*@only@*/ constraintTerm p_term);
48 extern /*@exposed@*/ constraintTerm
49 constraintExprData_termGetTerm (/*@observer@*/ constraintExprData p_data) /*@*/;
51 extern constraintExprUnaryOpKind
52 constraintExprData_unaryExprGetOp (/*@observer@*/ /*@reldef@*/ constraintExprData p_data) /*@*/;
54 extern /*@observer@*/ constraintExpr
55 constraintExprData_unaryExprGetExpr (/*@observer@*/ /*@reldef@*/constraintExprData p_data) /*@*/;
57 extern constraintExprData
58 constraintExprData_unaryExprSetOp (/*@partial@*/ /*@returned@*/ constraintExprData p_data, constraintExprUnaryOpKind p_op);
60 extern constraintExprData constraintExprData_unaryExprSetExpr (/*@partial@*/ /*@returned@*/ constraintExprData p_data, /*@only@*/ constraintExpr p_expr);
62 extern constraintExprBinaryOpKind constraintExprData_binaryExprGetOp (/*@partial@*/constraintExprData p_data) /*@*/;
64 extern /*@observer@*/ constraintExpr constraintExprData_binaryExprGetExpr1 (/*@observer@*/ /*@reldef@*/constraintExprData p_data)/*@*/;
66 extern /*@observer@*/ constraintExpr constraintExprData_binaryExprGetExpr2 (/*@observer@*/ /*@reldef@*/constraintExprData p_data)/*@*/;
68 extern constraintExprData constraintExprData_binaryExprSetExpr1 (/*@partial@*/ /*@returned@*/ constraintExprData p_data, /*@only@*/ constraintExpr p_expr) ;
70 extern constraintExprData constraintExprData_binaryExprSetExpr2 (/*@partial@*/ /*@returned@*/ constraintExprData p_data, /*@only@*/ constraintExpr p_expr);
72 extern constraintExprData constraintExprData_binaryExprSetOp (/*@partial@*/ /*@returned@*/ /*@out@*/constraintExprData p_data, constraintExprBinaryOpKind p_op);
74 extern /*@only@*/ constraintExprData constraintExprData_copyBinaryExpr(/*@observer@*/ constraintExprData p_data);
75 extern /*@only@*/ constraintExprData constraintExprData_copyUnaryExpr(/*@observer@*/ constraintExprData p_data);
76 extern /*@only@*/ constraintExprData constraintExprData_copyTerm (/*@observer@*/ constraintExprData p_data);
79 #error "Multiple Include"