]> andersk Git - splint.git/blame - src/Headers/constraintExprData.h
updating to make tree consistent for start at cert
[splint.git] / src / Headers / constraintExprData.h
CommitLineData
a8e557d3 1#ifndef __constraintExprData_h__
2
3#define __constraintExprData_h__
4
5
6typedef enum
7{
8 PLUS,
9 MINUS
10}
11constraintExprBinaryOpKind;
12
13typedef enum
14{
15 UNARYOP_UNDEFINED,
16 VALUE, CALLSAFE,
17 MAXSET, MINSET, MAXREAD, MINREAD,
18 NULLTERMINATED
19 }
20constraintExprUnaryOpKind;
21
22
23typedef struct constraintExprBinaryOp_
24{
25 constraintExpr expr1;
26 constraintExprBinaryOpKind binaryOp;
27 constraintExpr expr2;
28} constraintExprBinaryOp;
29
30
31typedef struct constraintExprUnaryOp_
32{
33 constraintExpr expr;
34 constraintExprUnaryOpKind unaryOp;
35} constraintExprUnaryOp;
36
37
38typedef union _constraintExprData
39{
40 constraintExprBinaryOp binaryOp;
41 constraintExprUnaryOp unaryOp;
42 constraintTerm term;
43} * constraintExprData;
44
45/*@constant null constraintExprData constraintExprData_undefined; @*/
46# define constraintExprData_undefined ((constraintExprData)NULL)
47
48extern /*@falsenull@*/ bool constraintExprData_isDefined (/*@observer@*/ /*@reldef@*/constraintExprData p_e) /*@*/ ;
49extern /*@unused@*/ /*@truenull@*/ bool constraintExprData_isUndefined (constraintExprData p_e) /*@*/ ;
50extern /*@truenull@*/ bool constraintExprData_isError (constraintExprData p_e) /*@*/ ;
51
52# define constraintExprData_isDefined(e) ((e) != constraintExprData_undefined)
53# define constraintExprData_isUndefined(e) ((e) == constraintExprData_undefined)
54# define constraintExprData_isError(e) ((e) == constraintExprData_undefined)
55
56constraintExprData constraintExprData_termSetTerm (/*@out@*/ constraintExprData data, constraintTerm term);
57
58//constraintExprData constraintExprData_copy (constraintExprData data, constraintExprKind kind) /*@*/;
59
60constraintTerm constraintExprData_termGetTerm (/*@observer@*/ constraintExprData data) /*@*/;
61
62constraintExprUnaryOpKind constraintExprData_unaryExprGetOp (constraintExprData data) /*@*/;
63
64constraintExpr constraintExprData_unaryExprGetExpr (constraintExprData data) /*@*/;
65
66
67// /*@special@*/ constraintExprData constraintExprData_unaryExprSetOp ( /*@out@*/ /*@special@*/ /*@returned@*/ constraintExprData data, constraintExprUnaryOpKind op) /*@sets result->unaryOp.unaryOp@*/;
68
69
70constraintExprData constraintExprData_unaryExprSetOp ( /*@out@*/ /*@returned@*/ constraintExprData data, constraintExprUnaryOpKind op);
71
72 constraintExprData constraintExprData_unaryExprSetExpr (/*@out@*/ /*@returns@*/ constraintExprData data, constraintExpr expr);
73
74
75constraintExprBinaryOpKind constraintExprData_binaryExprGetOp (constraintExprData data) /*@*/;
76
77constraintExpr constraintExprData_binaryExprGetExpr1 (constraintExprData data)/*@*/;
78
79constraintExpr constraintExprData_binaryExprGetExpr2 (constraintExprData data)/*@*/;
80
81/*@special@*/ constraintExprData constraintExprData_binaryExprSetExpr1 (/*@returned@*/ /*@special@*/constraintExprData data, constraintExpr expr) /*@defines result->binaryOp.expr1 @*/;
82
83/*@special@*/ constraintExprData constraintExprData_binaryExprSetExpr2 (/*@returned@*/ /*@special@*/constraintExprData data, constraintExpr expr) /*@defines result->binaryOp.expr2 @*/;
84
85/*@special@*/ constraintExprData constraintExprData_binaryExprSetOp (/*@returned@*/ /*@out@*/constraintExprData data, constraintExprBinaryOpKind op) /*@defines result->binaryOp.binaryOp@*/;
86
87constraintExprData constraintExprData_copyBinaryExpr(constraintExprData data);
88
89constraintExprData constraintExprData_copyUnaryExpr(constraintExprData data);
90
91constraintExprData constraintExprData_copyTerm (constraintExprData data);
92
93#else
94
95#error "Multiple Include"
96
97#endif
This page took 2.2638 seconds and 5 git commands to generate.