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 constraintExprData constraintExprData_copyBinaryExpr(constraintExprData data)
17 constraintExprData ret;
18 llassert(constraintExprData_isDefined(data));
19 ret = dmalloc (sizeof (*ret) );
20 ret->binaryOp.binaryOp = data->binaryOp.binaryOp;
21 ret->binaryOp.expr1 = constraintExpr_copy (data->binaryOp.expr1);
22 ret->binaryOp.expr2 = constraintExpr_copy (data->binaryOp.expr2);
26 constraintExprData constraintExprData_copyUnaryExpr(constraintExprData data)
28 constraintExprData ret;
29 llassert(constraintExprData_isDefined(data));
30 ret = dmalloc (sizeof (*ret) );
32 ret->unaryOp.unaryOp = data->unaryOp.unaryOp;
33 ret->unaryOp.expr = constraintExpr_copy (data->unaryOp.expr);
38 constraintExprData constraintExprData_copyTerm (constraintExprData data)
40 constraintExprData ret;
41 llassert(constraintExprData_isDefined(data));
42 ret = dmalloc (sizeof (*ret) );
43 ret->term = constraintTerm_copy (data->term);
47 // constraintExprData constraintExprData_copy (constraintExprData data, constraintExprKind kind)
49 // constraintExprData ret;
50 // llassert(constraintExprData_isDefined(data));
51 // ret = dmalloc (sizeof (*ret) );
55 // ret->binaryOp.binaryOp = data->binaryOp.binaryOp;
56 // ret->binaryOp.expr1 = constraintExpr_copy (data->binaryOp.expr1);
57 // ret->binaryOp.expr2 = constraintExpr_copy (data->binaryOp.expr2);
60 // ret->unaryOp.unaryOp = data->unaryOp.unaryOp;
61 // ret->unaryOp.expr = constraintExpr_copy (data->unaryOp.expr);
64 // ret->term = constraintTerm_copy (data->term);
70 constraintExprData constraintExprData_termSetTerm (/*@out@*/ constraintExprData data, constraintTerm term)
73 llassert (constraintExprData_isDefined(data));
75 data->term = constraintTerm_copy(term);
81 constraintTerm constraintExprData_termGetTerm (/*@observer@*/ constraintExprData data)
83 llassert (constraintExprData_isDefined(data));
84 /*@i22*/return data->term;
88 constraintExprUnaryOpKind constraintExprData_unaryExprGetOp (constraintExprData data)
90 llassert (constraintExprData_isDefined(data));
91 return (data->unaryOp.unaryOp);
95 constraintExpr constraintExprData_unaryExprGetExpr (constraintExprData data)
97 llassert (constraintExprData_isDefined(data));
98 /*@i232*/ return (data->unaryOp.expr);
103 constraintExprData constraintExprData_unaryExprSetOp (/*@out@*/ /*@returned@*/ constraintExprData data, constraintExprUnaryOpKind op)
106 llassert (constraintExprData_isDefined(data));
109 data->unaryOp.unaryOp = op;
113 constraintExprData constraintExprData_unaryExprSetExpr (constraintExprData data, constraintExpr expr)
115 llassert (constraintExprData_isDefined(data));
116 data->unaryOp.expr = constraintExpr_copy(expr);
123 constraintExprBinaryOpKind constraintExprData_binaryExprGetOp (constraintExprData data)
125 llassert (constraintExprData_isDefined(data));
126 return (data->binaryOp.binaryOp);
130 constraintExpr constraintExprData_binaryExprGetExpr1 (constraintExprData data)
132 llassert (constraintExprData_isDefined(data));
133 /*@i23*/ return (data->binaryOp.expr1);
137 constraintExpr constraintExprData_binaryExprGetExpr2 (constraintExprData data)
139 llassert (constraintExprData_isDefined(data));
140 /*@i22*/ return (data->binaryOp.expr2);
144 /*@special@*/ constraintExprData constraintExprData_binaryExprSetExpr1 (/*@returned@*/ /*@special@*/constraintExprData data, constraintExpr expr) /*@defines result->binaryOp.expr1 @*/
146 llassert (constraintExprData_isDefined(data));
147 data->binaryOp.expr1 = constraintExpr_copy(expr);
151 /*@special@*/ constraintExprData constraintExprData_binaryExprSetExpr2 (/*@returned@*/ /*@special@*/constraintExprData data, constraintExpr expr) /*@defines result->binaryOp.expr2 @*/
153 llassert (constraintExprData_isDefined(data));
154 data->binaryOp.expr2 = constraintExpr_copy(expr);
159 /*@special@*/ constraintExprData constraintExprData_binaryExprSetOp (/*@returned@*/ /*@out@*/constraintExprData data, constraintExprBinaryOpKind op) /*@defines result->binaryOp.binaryOp@*/
161 llassert (constraintExprData_isDefined(data));
162 data->binaryOp.binaryOp = op;