2 ** constraintExprData.c
5 # include "lclintMacros.nf"
8 # include "cgrammar_tokens.h"
10 # include "exprChecks.h"
11 # include "aliasChecks.h"
12 # include "exprNodeSList.h"
14 void constraintExprData_freeBinaryExpr (/*@only@*/constraintExprData data)
16 constraintExpr_free (data->binaryOp.expr1);
17 constraintExpr_free (data->binaryOp.expr2);
21 constraintExprData constraintExprData_copyBinaryExpr(/*@observer@*/ constraintExprData data)
23 constraintExprData ret;
24 llassert(constraintExprData_isDefined(data));
25 ret = dmalloc (sizeof (*ret) );
26 ret->binaryOp.binaryOp = data->binaryOp.binaryOp;
27 ret->binaryOp.expr1 = constraintExpr_copy (data->binaryOp.expr1);
28 ret->binaryOp.expr2 = constraintExpr_copy (data->binaryOp.expr2);
32 void constraintExprData_freeUnaryExpr (/*@only@*/constraintExprData data)
34 constraintExpr_free (data->unaryOp.expr);
38 constraintExprData constraintExprData_copyUnaryExpr(/*@observer@*/ constraintExprData data)
40 constraintExprData ret;
41 llassert(constraintExprData_isDefined(data));
42 ret = dmalloc (sizeof (*ret) );
44 ret->unaryOp.unaryOp = data->unaryOp.unaryOp;
45 ret->unaryOp.expr = constraintExpr_copy (data->unaryOp.expr);
50 void constraintExprData_freeTerm (/*@only@*/constraintExprData data)
52 constraintTerm_free (data->term);
57 constraintExprData constraintExprData_copyTerm (/*@observer@*/ constraintExprData data)
59 constraintExprData ret;
60 llassert(constraintExprData_isDefined(data));
61 ret = dmalloc (sizeof (*ret) );
62 ret->term = constraintTerm_copy (data->term);
66 // constraintExprData constraintExprData_copy (constraintExprData data, constraintExprKind kind)
68 // constraintExprData ret;
69 // llassert(constraintExprData_isDefined(data));
70 // ret = dmalloc (sizeof (*ret) );
74 // ret->binaryOp.binaryOp = data->binaryOp.binaryOp;
75 // ret->binaryOp.expr1 = constraintExpr_copy (data->binaryOp.expr1);
76 // ret->binaryOp.expr2 = constraintExpr_copy (data->binaryOp.expr2);
79 // ret->unaryOp.unaryOp = data->unaryOp.unaryOp;
80 // ret->unaryOp.expr = constraintExpr_copy (data->unaryOp.expr);
83 // ret->term = constraintTerm_copy (data->term);
89 /*@reldef@*/ constraintExprData constraintExprData_termSetTerm (/*@reldef@*/ /*@returned@*/ constraintExprData data, /*@only@*/constraintTerm term)
92 llassert (constraintExprData_isDefined(data));
100 /*@observer@*/ constraintTerm constraintExprData_termGetTerm (/*@observer@*/ constraintExprData data)
102 llassert (constraintExprData_isDefined(data));
103 /*@i22*/return data->term;
107 constraintExprUnaryOpKind constraintExprData_unaryExprGetOp (/*@observer@*/ constraintExprData data)
109 llassert (constraintExprData_isDefined(data));
110 return (data->unaryOp.unaryOp);
114 constraintExpr constraintExprData_unaryExprGetExpr (/*@observer@*/ constraintExprData data)
116 llassert (constraintExprData_isDefined(data));
117 /*@i232*/ return (data->unaryOp.expr);
122 constraintExprData constraintExprData_unaryExprSetOp (/*@reldef@*/ /*@returned@*/ constraintExprData data, constraintExprUnaryOpKind op)
125 llassert (constraintExprData_isDefined(data));
128 data->unaryOp.unaryOp = op;
132 constraintExprData constraintExprData_unaryExprSetExpr (constraintExprData data, /*@only@*/ constraintExpr expr)
134 llassert (constraintExprData_isDefined(data));
135 data->unaryOp.expr = expr;
142 constraintExprBinaryOpKind constraintExprData_binaryExprGetOp (constraintExprData data)
144 llassert (constraintExprData_isDefined(data));
145 return (data->binaryOp.binaryOp);
149 constraintExpr constraintExprData_binaryExprGetExpr1 (constraintExprData data)
151 llassert (constraintExprData_isDefined(data));
152 /*@i23*/ return (data->binaryOp.expr1);
156 constraintExpr constraintExprData_binaryExprGetExpr2 (constraintExprData data)
158 llassert (constraintExprData_isDefined(data));
159 /*@i22*/ return (data->binaryOp.expr2);
163 constraintExprData constraintExprData_binaryExprSetExpr1 ( /*@reldef@*/ /*@returned@*/ constraintExprData data, /*@only@*/ constraintExpr expr)
165 llassert (constraintExprData_isDefined(data));
166 data->binaryOp.expr1 = expr;
170 constraintExprData constraintExprData_binaryExprSetExpr2 (/*@returned@*/ /*@reldef@*/ constraintExprData data, constraintExpr expr)
172 llassert (constraintExprData_isDefined(data));
173 data->binaryOp.expr2 = expr;
178 constraintExprData constraintExprData_binaryExprSetOp (/*@returned@*/ /*@reldef@*/ constraintExprData data, constraintExprBinaryOpKind op)
180 llassert (constraintExprData_isDefined(data));
181 data->binaryOp.binaryOp = op;