]> andersk Git - splint.git/blame_incremental - src/Headers/constraintExprData.h
*** empty log message ***
[splint.git] / src / Headers / constraintExprData.h
... / ...
CommitLineData
1#ifndef __constraintExprData_h__
2
3#define __constraintExprData_h__
4
5
6typedef enum
7{
8 BINARYOP_UNDEFINED,
9 PLUS,
10 MINUS
11}
12constraintExprBinaryOpKind;
13
14typedef enum
15{
16 UNARYOP_UNDEFINED,
17 MAXSET, MINSET, MAXREAD, MINREAD
18 }
19constraintExprUnaryOpKind;
20
21
22typedef struct constraintExprBinaryOp_
23{
24 constraintExpr expr1;
25 constraintExprBinaryOpKind binaryOp;
26 constraintExpr expr2;
27} constraintExprBinaryOp;
28
29
30typedef struct constraintExprUnaryOp_
31{
32 constraintExpr expr;
33 constraintExprUnaryOpKind unaryOp;
34} constraintExprUnaryOp;
35
36
37typedef union constraintExprData
38{
39 constraintExprBinaryOp binaryOp;
40 constraintExprUnaryOp unaryOp;
41 constraintTerm term;
42} *constraintExprData;
43
44extern /*@falsenull@*/ bool constraintExprData_isDefined (/*@temp@*/ /*@observer@*/ /*@reldef@*/ constraintExprData p_e) /*@*/ ;
45# define constraintExprData_isDefined(e) ((e) != NULL)
46
47extern void constraintExprData_freeBinaryExpr (/*@only@*/ constraintExprData) ;
48extern void constraintExprData_freeUnaryExpr (/*@only@*/ constraintExprData) ;
49extern void constraintExprData_freeTerm (/*@only@*/ constraintExprData) ;
50
51constraintExprData constraintExprData_termSetTerm ( /*@returned@*/ /*@partial@*/ constraintExprData p_data, /*@only@*/ constraintTerm p_term);
52
53/*@observer@*/ constraintTerm constraintExprData_termGetTerm (/*@observer@*/ constraintExprData p_data) /*@*/;
54
55constraintExprUnaryOpKind constraintExprData_unaryExprGetOp (/*@observer@*//*@reldef@*/constraintExprData p_data) /*@*/;
56
57/*@observer@*/ constraintExpr constraintExprData_unaryExprGetExpr (/*@observer@*/ /*@reldef@*/constraintExprData p_data) /*@*/;
58
59
60// special constraintExprData constraintExprData_unaryExprSetOp ( /out special@*/ @returned@ constraintExprData p_data, constraintExprUnaryOpKind op) /sets result->unaryOp.unaryOp;
61
62
63constraintExprData constraintExprData_unaryExprSetOp (/*@partial@*/ /*@returned@*/ constraintExprData p_data, constraintExprUnaryOpKind p_op);
64
65constraintExprData constraintExprData_unaryExprSetExpr (/*@partial@*/ /*@returned@*/ constraintExprData p_data, /*@only@*/ constraintExpr p_expr);
66
67
68constraintExprBinaryOpKind constraintExprData_binaryExprGetOp (/*@partial@*/constraintExprData p_data) /*@*/;
69
70/*@observer@*/ constraintExpr constraintExprData_binaryExprGetExpr1 (/*@observer@*/ /*@reldef@*/constraintExprData p_data)/*@*/;
71
72/*@observer@*/ constraintExpr constraintExprData_binaryExprGetExpr2 (/*@observer@*/ /*@reldef@*/constraintExprData p_data)/*@*/;
73
74constraintExprData constraintExprData_binaryExprSetExpr1 (/*@partial@*/ /*@returned@*/ constraintExprData p_data, /*@only@*/ constraintExpr p_expr) ;
75
76constraintExprData constraintExprData_binaryExprSetExpr2 (/*@partial@*/ /*@returned@*/ constraintExprData p_data, /*@only@*/ constraintExpr p_expr);
77
78constraintExprData constraintExprData_binaryExprSetOp (/*@partial@*/ /*@returned@*/ /*@out@*/constraintExprData p_data, constraintExprBinaryOpKind p_op);
79
80/*@only@*/ constraintExprData constraintExprData_copyBinaryExpr(/*@observer@*/ constraintExprData p_data);
81
82/*@only@*/ constraintExprData constraintExprData_copyUnaryExpr(/*@observer@*/ constraintExprData p_data);
83
84/*@only@*/ constraintExprData constraintExprData_copyTerm (/*@observer@*/ constraintExprData p_data);
85
86#else
87
88#error "Multiple Include"
89
90#endif
This page took 0.777622 seconds and 5 git commands to generate.