]>
Commit | Line | Data |
---|---|---|
1 | #/* | |
2 | ** constraintExprData.c | |
3 | */ | |
4 | ||
5 | # include "lclintMacros.nf" | |
6 | # include "basic.h" | |
7 | # include "cgrammar.h" | |
8 | # include "cgrammar_tokens.h" | |
9 | ||
10 | # include "exprChecks.h" | |
11 | # include "exprNodeSList.h" | |
12 | ||
13 | void constraintExprData_freeBinaryExpr (/*@only@*/constraintExprData data) | |
14 | { | |
15 | constraintExpr_free (data->binaryOp.expr1); | |
16 | constraintExpr_free (data->binaryOp.expr2); | |
17 | free(data); | |
18 | } | |
19 | ||
20 | constraintExprData constraintExprData_copyBinaryExpr(/*@observer@*/ constraintExprData data) | |
21 | { | |
22 | constraintExprData ret; | |
23 | llassert(constraintExprData_isDefined(data)); | |
24 | ret = dmalloc (sizeof (*ret) ); | |
25 | ret->binaryOp.binaryOp = data->binaryOp.binaryOp; | |
26 | ret->binaryOp.expr1 = constraintExpr_copy (data->binaryOp.expr1); | |
27 | ret->binaryOp.expr2 = constraintExpr_copy (data->binaryOp.expr2); | |
28 | return ret; | |
29 | } | |
30 | ||
31 | void constraintExprData_freeUnaryExpr (/*@only@*/constraintExprData data) | |
32 | { | |
33 | constraintExpr_free (data->unaryOp.expr); | |
34 | free(data); | |
35 | } | |
36 | ||
37 | constraintExprData constraintExprData_copyUnaryExpr(/*@observer@*/ constraintExprData data) | |
38 | { | |
39 | constraintExprData ret; | |
40 | llassert(constraintExprData_isDefined(data)); | |
41 | ret = dmalloc (sizeof (*ret) ); | |
42 | ||
43 | ret->unaryOp.unaryOp = data->unaryOp.unaryOp; | |
44 | ret->unaryOp.expr = constraintExpr_copy (data->unaryOp.expr); | |
45 | ||
46 | return ret; | |
47 | } | |
48 | ||
49 | void constraintExprData_freeTerm (/*@only@*/constraintExprData data) | |
50 | { | |
51 | constraintTerm_free (data->term); | |
52 | free(data); | |
53 | } | |
54 | ||
55 | ||
56 | constraintExprData constraintExprData_copyTerm (/*@observer@*/ constraintExprData data) | |
57 | { | |
58 | constraintExprData ret; | |
59 | llassert(constraintExprData_isDefined(data)); | |
60 | ret = dmalloc (sizeof (*ret) ); | |
61 | ret->term = constraintTerm_copy (data->term); | |
62 | return ret; | |
63 | } | |
64 | ||
65 | // constraintExprData constraintExprData_copy (constraintExprData data, constraintExprKind kind) | |
66 | // { | |
67 | // constraintExprData ret; | |
68 | // llassert(constraintExprData_isDefined(data)); | |
69 | // ret = dmalloc (sizeof (*ret) ); | |
70 | // switch (kind) | |
71 | // { | |
72 | // case binaryexpr: | |
73 | // ret->binaryOp.binaryOp = data->binaryOp.binaryOp; | |
74 | // ret->binaryOp.expr1 = constraintExpr_copy (data->binaryOp.expr1); | |
75 | // ret->binaryOp.expr2 = constraintExpr_copy (data->binaryOp.expr2); | |
76 | // break; | |
77 | // case unaryExpr: | |
78 | // ret->unaryOp.unaryOp = data->unaryOp.unaryOp; | |
79 | // ret->unaryOp.expr = constraintExpr_copy (data->unaryOp.expr); | |
80 | // break; | |
81 | // case term: | |
82 | // ret->term = constraintTerm_copy (data->term); | |
83 | // } | |
84 | ||
85 | // return ret; | |
86 | // } | |
87 | ||
88 | constraintExprData constraintExprData_termSetTerm (/*@returned@*/ constraintExprData data, /*@only@*/constraintTerm term) | |
89 | { | |
90 | llassert (constraintExprData_isDefined(data)); | |
91 | data->term = term; | |
92 | return data; | |
93 | } | |
94 | ||
95 | ||
96 | ||
97 | /*@observer@*/ constraintTerm constraintExprData_termGetTerm (/*@observer@*/ constraintExprData data) | |
98 | { | |
99 | llassert (constraintExprData_isDefined(data)); | |
100 | /*@i22*/return data->term; | |
101 | } | |
102 | ||
103 | ||
104 | constraintExprUnaryOpKind constraintExprData_unaryExprGetOp (/*@observer@*/ constraintExprData data) | |
105 | { | |
106 | llassert (constraintExprData_isDefined(data)); | |
107 | return (data->unaryOp.unaryOp); | |
108 | } | |
109 | ||
110 | ||
111 | constraintExpr constraintExprData_unaryExprGetExpr (/*@observer@*/ constraintExprData data) | |
112 | { | |
113 | llassert (constraintExprData_isDefined (data)); | |
114 | /*@i232*/ return (data->unaryOp.expr); | |
115 | } | |
116 | ||
117 | ||
118 | ||
119 | constraintExprData constraintExprData_unaryExprSetOp ( /*@returned@*/ constraintExprData data, constraintExprUnaryOpKind op) | |
120 | { | |
121 | llassert (constraintExprData_isDefined (data)); | |
122 | ||
123 | data->unaryOp.unaryOp = op; | |
124 | return data; | |
125 | } | |
126 | ||
127 | constraintExprData constraintExprData_unaryExprSetExpr (constraintExprData data, /*@only@*/ constraintExpr expr) | |
128 | { | |
129 | llassert (constraintExprData_isDefined(data)); | |
130 | data->unaryOp.expr = expr; | |
131 | return data; | |
132 | } | |
133 | ||
134 | // binaryExpr stuff | |
135 | ||
136 | ||
137 | constraintExprBinaryOpKind constraintExprData_binaryExprGetOp (constraintExprData data) | |
138 | { | |
139 | llassert (constraintExprData_isDefined(data)); | |
140 | return (data->binaryOp.binaryOp); | |
141 | } | |
142 | ||
143 | ||
144 | constraintExpr constraintExprData_binaryExprGetExpr1 (constraintExprData data) | |
145 | { | |
146 | llassert (constraintExprData_isDefined(data)); | |
147 | /*@i23*/ return (data->binaryOp.expr1); | |
148 | } | |
149 | ||
150 | ||
151 | constraintExpr constraintExprData_binaryExprGetExpr2 (constraintExprData data) | |
152 | { | |
153 | llassert (constraintExprData_isDefined(data)); | |
154 | /*@i22*/ return (data->binaryOp.expr2); | |
155 | } | |
156 | ||
157 | ||
158 | constraintExprData constraintExprData_binaryExprSetExpr1 ( /*@returned@*/ constraintExprData data, /*@only@*/ constraintExpr expr) | |
159 | { | |
160 | llassert (constraintExprData_isDefined(data)); | |
161 | data->binaryOp.expr1 = expr; | |
162 | return data; | |
163 | } | |
164 | ||
165 | constraintExprData constraintExprData_binaryExprSetExpr2 (constraintExprData data, constraintExpr expr) | |
166 | { | |
167 | llassert (constraintExprData_isDefined(data)); | |
168 | data->binaryOp.expr2 = expr; | |
169 | return data; | |
170 | } | |
171 | ||
172 | ||
173 | constraintExprData constraintExprData_binaryExprSetOp (constraintExprData data, constraintExprBinaryOpKind op) | |
174 | { | |
175 | llassert (constraintExprData_isDefined(data)); | |
176 | data->binaryOp.binaryOp = op; | |
177 | return data; | |
178 | } |