]> andersk Git - splint.git/blame - src/constraintExprData.c
Fixed Makefile to create bin directory.
[splint.git] / src / constraintExprData.c
CommitLineData
3aaedf88 1#/*
a8e557d3 2** constraintExprData.c
3aaedf88 3*/
4
3aaedf88 5# include "lclintMacros.nf"
6# include "basic.h"
7# include "cgrammar.h"
8# include "cgrammar_tokens.h"
9
10# include "exprChecks.h"
3aaedf88 11# include "exprNodeSList.h"
3aaedf88 12
a779b61e 13static /*@out@*/ constraintExprData constraintExprData_alloc (void)
14{
15 constraintExprData ret;
16
17 ret = dmalloc (sizeof (*ret) );
18
19 return ret;
20}
21
22static /*@out@*/ constraintExprData constraintExprData_allocBinaryOp (void)
23{
24 constraintExprData ret;
25
26 ret = constraintExprData_alloc();
27
28 ret->binaryOp.expr1 = constraintExpr_undefined;
29 ret->binaryOp.expr2 = constraintExpr_undefined;
30
31 return ret;
32}
33
34static /*@out@*/ constraintExprData constraintExprData_allocUnaryOp (void)
35{
36 constraintExprData ret;
37
38 ret = constraintExprData_alloc();
39
40 ret->unaryOp.expr = constraintExpr_undefined;
41
42 return ret;
43}
44
45static /*@out@*/ constraintExprData constraintExprData_allocTerm (void)
46{
47 constraintExprData ret;
48
49 ret = constraintExprData_alloc();
50
51 ret->term = NULL;
52 return ret;
53}
54
55
d46ce6a4 56void constraintExprData_freeBinaryExpr (/*@only@*/constraintExprData data)
57{
58 constraintExpr_free (data->binaryOp.expr1);
59 constraintExpr_free (data->binaryOp.expr2);
60 free(data);
61}
62
4ab867d6 63constraintExprData constraintExprData_copyBinaryExpr(/*@observer@*/ constraintExprData data)
c3e695ff 64{
4ab867d6 65 constraintExprData ret;
c3e695ff 66 llassert(constraintExprData_isDefined(data));
a779b61e 67
68 ret = constraintExprData_allocBinaryOp();
69
c3e695ff 70 ret->binaryOp.binaryOp = data->binaryOp.binaryOp;
71 ret->binaryOp.expr1 = constraintExpr_copy (data->binaryOp.expr1);
72 ret->binaryOp.expr2 = constraintExpr_copy (data->binaryOp.expr2);
73 return ret;
74}
3aaedf88 75
2934b455 76void constraintExprData_freeUnaryExpr (/*@only@*/constraintExprData data)
d46ce6a4 77{
78 constraintExpr_free (data->unaryOp.expr);
79 free(data);
80}
81
4ab867d6 82constraintExprData constraintExprData_copyUnaryExpr(/*@observer@*/ constraintExprData data)
3aaedf88 83{
c3e695ff 84 constraintExprData ret;
85 llassert(constraintExprData_isDefined(data));
a779b61e 86
87 ret = constraintExprData_allocUnaryOp();
c3e695ff 88
89 ret->unaryOp.unaryOp = data->unaryOp.unaryOp;
90 ret->unaryOp.expr = constraintExpr_copy (data->unaryOp.expr);
3aaedf88 91
92 return ret;
93}
94
d46ce6a4 95void constraintExprData_freeTerm (/*@only@*/constraintExprData data)
96{
97 constraintTerm_free (data->term);
98 free(data);
99}
100
101
4ab867d6 102constraintExprData constraintExprData_copyTerm (/*@observer@*/ constraintExprData data)
c3e695ff 103{
104 constraintExprData ret;
105 llassert(constraintExprData_isDefined(data));
a779b61e 106
107 ret = constraintExprData_allocTerm();
108
c3e695ff 109 ret->term = constraintTerm_copy (data->term);
110 return ret;
111}
112
b7b694d6 113constraintExprData constraintExprData_termSetTerm (/*@returned@*/ constraintExprData data, /*@only@*/constraintTerm term)
3aaedf88 114{
c3e695ff 115 llassert (constraintExprData_isDefined(data));
a779b61e 116
117 if (constraintTerm_isDefined(data->term) )
118 constraintTerm_free(data->term);
119
d46ce6a4 120 data->term = term;
3aaedf88 121 return data;
122}
123
124
125
d46ce6a4 126/*@observer@*/ constraintTerm constraintExprData_termGetTerm (/*@observer@*/ constraintExprData data)
3aaedf88 127{
c3e695ff 128 llassert (constraintExprData_isDefined(data));
a8e557d3 129 /*@i22*/return data->term;
3aaedf88 130}
131
132
4ab867d6 133constraintExprUnaryOpKind constraintExprData_unaryExprGetOp (/*@observer@*/ constraintExprData data)
3aaedf88 134{
c3e695ff 135 llassert (constraintExprData_isDefined(data));
3aaedf88 136 return (data->unaryOp.unaryOp);
137}
138
139
4ab867d6 140constraintExpr constraintExprData_unaryExprGetExpr (/*@observer@*/ constraintExprData data)
3aaedf88 141{
60eced23 142 llassert (constraintExprData_isDefined (data));
a779b61e 143 return (data->unaryOp.expr);
3aaedf88 144}
145
146
147
60eced23 148constraintExprData constraintExprData_unaryExprSetOp ( /*@returned@*/ constraintExprData data, constraintExprUnaryOpKind op)
3aaedf88 149{
60eced23 150 llassert (constraintExprData_isDefined (data));
151
3aaedf88 152 data->unaryOp.unaryOp = op;
153 return data;
154}
155
d46ce6a4 156constraintExprData constraintExprData_unaryExprSetExpr (constraintExprData data, /*@only@*/ constraintExpr expr)
3aaedf88 157{
c3e695ff 158 llassert (constraintExprData_isDefined(data));
a779b61e 159
160 if (constraintExpr_isDefined(data->unaryOp.expr) )
161 constraintExpr_free(data->unaryOp.expr);
162
d46ce6a4 163 data->unaryOp.expr = expr;
3aaedf88 164 return data;
165}
166
b7b694d6 167/*
168** binaryExpr stuff
169*/
3aaedf88 170
171constraintExprBinaryOpKind constraintExprData_binaryExprGetOp (constraintExprData data)
172{
c3e695ff 173 llassert (constraintExprData_isDefined(data));
a779b61e 174
3aaedf88 175 return (data->binaryOp.binaryOp);
176}
177
178
179constraintExpr constraintExprData_binaryExprGetExpr1 (constraintExprData data)
180{
c3e695ff 181 llassert (constraintExprData_isDefined(data));
a779b61e 182
183
184 return (data->binaryOp.expr1);
3aaedf88 185}
186
187
188constraintExpr constraintExprData_binaryExprGetExpr2 (constraintExprData data)
189{
c3e695ff 190 llassert (constraintExprData_isDefined(data));
a8e557d3 191 /*@i22*/ return (data->binaryOp.expr2);
3aaedf88 192}
193
194
28bf4b0b 195constraintExprData constraintExprData_binaryExprSetExpr1 ( /*@returned@*/ constraintExprData data, /*@only@*/ constraintExpr expr)
3aaedf88 196{
c3e695ff 197 llassert (constraintExprData_isDefined(data));
a779b61e 198
199 if (constraintExpr_isDefined(data->binaryOp.expr1) )
200 constraintExpr_free(data->binaryOp.expr1);
201
d46ce6a4 202 data->binaryOp.expr1 = expr;
3aaedf88 203 return data;
204}
205
28bf4b0b 206constraintExprData constraintExprData_binaryExprSetExpr2 (constraintExprData data, constraintExpr expr)
3aaedf88 207{
c3e695ff 208 llassert (constraintExprData_isDefined(data));
a779b61e 209 if (constraintExpr_isDefined(data->binaryOp.expr2) )
210 constraintExpr_free(data->binaryOp.expr2);
211
d46ce6a4 212 data->binaryOp.expr2 = expr;
3aaedf88 213 return data;
214}
215
216
28bf4b0b 217constraintExprData constraintExprData_binaryExprSetOp (constraintExprData data, constraintExprBinaryOpKind op)
3aaedf88 218{
c3e695ff 219 llassert (constraintExprData_isDefined(data));
3aaedf88 220 data->binaryOp.binaryOp = op;
221 return data;
222}
a779b61e 223
This page took 0.087346 seconds and 5 git commands to generate.