]> andersk Git - splint.git/blame - src/constraintExprData.c
*** empty log message ***
[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
d46ce6a4 13void constraintExprData_freeBinaryExpr (/*@only@*/constraintExprData data)
14{
15 constraintExpr_free (data->binaryOp.expr1);
16 constraintExpr_free (data->binaryOp.expr2);
17 free(data);
18}
19
4ab867d6 20constraintExprData constraintExprData_copyBinaryExpr(/*@observer@*/ constraintExprData data)
c3e695ff 21{
4ab867d6 22 constraintExprData ret;
c3e695ff 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}
3aaedf88 30
2934b455 31void constraintExprData_freeUnaryExpr (/*@only@*/constraintExprData data)
d46ce6a4 32{
33 constraintExpr_free (data->unaryOp.expr);
34 free(data);
35}
36
4ab867d6 37constraintExprData constraintExprData_copyUnaryExpr(/*@observer@*/ constraintExprData data)
3aaedf88 38{
c3e695ff 39 constraintExprData ret;
40 llassert(constraintExprData_isDefined(data));
3aaedf88 41 ret = dmalloc (sizeof (*ret) );
c3e695ff 42
43 ret->unaryOp.unaryOp = data->unaryOp.unaryOp;
44 ret->unaryOp.expr = constraintExpr_copy (data->unaryOp.expr);
3aaedf88 45
46 return ret;
47}
48
d46ce6a4 49void constraintExprData_freeTerm (/*@only@*/constraintExprData data)
50{
51 constraintTerm_free (data->term);
52 free(data);
53}
54
55
4ab867d6 56constraintExprData constraintExprData_copyTerm (/*@observer@*/ constraintExprData data)
c3e695ff 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
28bf4b0b 88 constraintExprData constraintExprData_termSetTerm (/*@returned@*/ constraintExprData data, /*@only@*/constraintTerm term)
3aaedf88 89{
c3e695ff 90 llassert (constraintExprData_isDefined(data));
d46ce6a4 91 data->term = term;
3aaedf88 92 return data;
93}
94
95
96
d46ce6a4 97/*@observer@*/ constraintTerm constraintExprData_termGetTerm (/*@observer@*/ constraintExprData data)
3aaedf88 98{
c3e695ff 99 llassert (constraintExprData_isDefined(data));
a8e557d3 100 /*@i22*/return data->term;
3aaedf88 101}
102
103
4ab867d6 104constraintExprUnaryOpKind constraintExprData_unaryExprGetOp (/*@observer@*/ constraintExprData data)
3aaedf88 105{
c3e695ff 106 llassert (constraintExprData_isDefined(data));
3aaedf88 107 return (data->unaryOp.unaryOp);
108}
109
110
4ab867d6 111constraintExpr constraintExprData_unaryExprGetExpr (/*@observer@*/ constraintExprData data)
3aaedf88 112{
60eced23 113 llassert (constraintExprData_isDefined (data));
a8e557d3 114 /*@i232*/ return (data->unaryOp.expr);
3aaedf88 115}
116
117
118
60eced23 119constraintExprData constraintExprData_unaryExprSetOp ( /*@returned@*/ constraintExprData data, constraintExprUnaryOpKind op)
3aaedf88 120{
60eced23 121 llassert (constraintExprData_isDefined (data));
122
3aaedf88 123 data->unaryOp.unaryOp = op;
124 return data;
125}
126
d46ce6a4 127constraintExprData constraintExprData_unaryExprSetExpr (constraintExprData data, /*@only@*/ constraintExpr expr)
3aaedf88 128{
c3e695ff 129 llassert (constraintExprData_isDefined(data));
d46ce6a4 130 data->unaryOp.expr = expr;
3aaedf88 131 return data;
132}
133
134// binaryExpr stuff
135
136
137constraintExprBinaryOpKind constraintExprData_binaryExprGetOp (constraintExprData data)
138{
c3e695ff 139 llassert (constraintExprData_isDefined(data));
3aaedf88 140 return (data->binaryOp.binaryOp);
141}
142
143
144constraintExpr constraintExprData_binaryExprGetExpr1 (constraintExprData data)
145{
c3e695ff 146 llassert (constraintExprData_isDefined(data));
a8e557d3 147 /*@i23*/ return (data->binaryOp.expr1);
3aaedf88 148}
149
150
151constraintExpr constraintExprData_binaryExprGetExpr2 (constraintExprData data)
152{
c3e695ff 153 llassert (constraintExprData_isDefined(data));
a8e557d3 154 /*@i22*/ return (data->binaryOp.expr2);
3aaedf88 155}
156
157
28bf4b0b 158constraintExprData constraintExprData_binaryExprSetExpr1 ( /*@returned@*/ constraintExprData data, /*@only@*/ constraintExpr expr)
3aaedf88 159{
c3e695ff 160 llassert (constraintExprData_isDefined(data));
d46ce6a4 161 data->binaryOp.expr1 = expr;
3aaedf88 162 return data;
163}
164
28bf4b0b 165constraintExprData constraintExprData_binaryExprSetExpr2 (constraintExprData data, constraintExpr expr)
3aaedf88 166{
c3e695ff 167 llassert (constraintExprData_isDefined(data));
d46ce6a4 168 data->binaryOp.expr2 = expr;
3aaedf88 169 return data;
170}
171
172
28bf4b0b 173constraintExprData constraintExprData_binaryExprSetOp (constraintExprData data, constraintExprBinaryOpKind op)
3aaedf88 174{
c3e695ff 175 llassert (constraintExprData_isDefined(data));
3aaedf88 176 data->binaryOp.binaryOp = op;
177 return data;
178}
This page took 0.092063 seconds and 5 git commands to generate.