2 ** constraintExprData.c
5 # include "lclintMacros.nf"
8 # include "cgrammar_tokens.h"
10 # include "exprChecks.h"
11 # include "aliasChecks.h"
12 # include "exprNodeSList.h"
15 void constraintExprData_freeBinaryExpr (/*@only@*/constraintExprData data)
17 constraintExpr_free (data->binaryOp.expr1);
18 constraintExpr_free (data->binaryOp.expr2);
22 constraintExprData constraintExprData_copyBinaryExpr(constraintExprData data)
24 constraintExprData ret;
25 llassert(constraintExprData_isDefined(data));
26 ret = dmalloc (sizeof (*ret) );
27 ret->binaryOp.binaryOp = data->binaryOp.binaryOp;
28 ret->binaryOp.expr1 = constraintExpr_copy (data->binaryOp.expr1);
29 ret->binaryOp.expr2 = constraintExpr_copy (data->binaryOp.expr2);
33 void constraintExprData_freeUnaryExpr (/*@only@*/constraintExprData data)
35 constraintExpr_free (data->unaryOp.expr);
39 constraintExprData constraintExprData_copyUnaryExpr(constraintExprData data)
41 constraintExprData ret;
42 llassert(constraintExprData_isDefined(data));
43 ret = dmalloc (sizeof (*ret) );
45 ret->unaryOp.unaryOp = data->unaryOp.unaryOp;
46 ret->unaryOp.expr = constraintExpr_copy (data->unaryOp.expr);
51 void constraintExprData_freeTerm (/*@only@*/constraintExprData data)
53 constraintTerm_free (data->term);
58 constraintExprData constraintExprData_copyTerm (constraintExprData data)
60 constraintExprData ret;
61 llassert(constraintExprData_isDefined(data));
62 ret = dmalloc (sizeof (*ret) );
63 ret->term = constraintTerm_copy (data->term);
67 // constraintExprData constraintExprData_copy (constraintExprData data, constraintExprKind kind)
69 // constraintExprData ret;
70 // llassert(constraintExprData_isDefined(data));
71 // ret = dmalloc (sizeof (*ret) );
75 // ret->binaryOp.binaryOp = data->binaryOp.binaryOp;
76 // ret->binaryOp.expr1 = constraintExpr_copy (data->binaryOp.expr1);
77 // ret->binaryOp.expr2 = constraintExpr_copy (data->binaryOp.expr2);
80 // ret->unaryOp.unaryOp = data->unaryOp.unaryOp;
81 // ret->unaryOp.expr = constraintExpr_copy (data->unaryOp.expr);
84 // ret->term = constraintTerm_copy (data->term);
90 /*@reldef@*/ constraintExprData constraintExprData_termSetTerm (/*@reldef@*/ /*@returned@*/ constraintExprData data, /*@only@*/constraintTerm term)
93 llassert (constraintExprData_isDefined(data));
101 /*@observer@*/ constraintTerm constraintExprData_termGetTerm (/*@observer@*/ constraintExprData data)
103 llassert (constraintExprData_isDefined(data));
104 /*@i22*/return data->term;
108 constraintExprUnaryOpKind constraintExprData_unaryExprGetOp (constraintExprData data)
110 llassert (constraintExprData_isDefined(data));
111 return (data->unaryOp.unaryOp);
115 constraintExpr constraintExprData_unaryExprGetExpr (constraintExprData data)
117 llassert (constraintExprData_isDefined(data));
118 /*@i232*/ return (data->unaryOp.expr);
123 constraintExprData constraintExprData_unaryExprSetOp (/*@reldef@*/ /*@returned@*/ constraintExprData data, constraintExprUnaryOpKind op)
126 llassert (constraintExprData_isDefined(data));
129 data->unaryOp.unaryOp = op;
133 constraintExprData constraintExprData_unaryExprSetExpr (constraintExprData data, /*@only@*/ constraintExpr expr)
135 llassert (constraintExprData_isDefined(data));
136 data->unaryOp.expr = expr;
143 constraintExprBinaryOpKind constraintExprData_binaryExprGetOp (constraintExprData data)
145 llassert (constraintExprData_isDefined(data));
146 return (data->binaryOp.binaryOp);
150 constraintExpr constraintExprData_binaryExprGetExpr1 (constraintExprData data)
152 llassert (constraintExprData_isDefined(data));
153 /*@i23*/ return (data->binaryOp.expr1);
157 constraintExpr constraintExprData_binaryExprGetExpr2 (constraintExprData data)
159 llassert (constraintExprData_isDefined(data));
160 /*@i22*/ return (data->binaryOp.expr2);
164 constraintExprData constraintExprData_binaryExprSetExpr1 ( /*@reldef@*/ /*@returned@*/ constraintExprData data, /*@only@*/ constraintExpr expr)
166 llassert (constraintExprData_isDefined(data));
167 data->binaryOp.expr1 = expr;
171 constraintExprData constraintExprData_binaryExprSetExpr2 (/*@returned@*/ /*@reldef@*/ constraintExprData data, constraintExpr expr)
173 llassert (constraintExprData_isDefined(data));
174 data->binaryOp.expr2 = expr;
179 constraintExprData constraintExprData_binaryExprSetOp (/*@returned@*/ /*@reldef@*/ constraintExprData data, constraintExprBinaryOpKind op)
181 llassert (constraintExprData_isDefined(data));
182 data->binaryOp.binaryOp = op;