]> andersk Git - splint.git/blame - src/constraintExprData.c
Updating for cert move
[splint.git] / src / constraintExprData.c
CommitLineData
3aaedf88 1#/*
2** constraintExpr.c
3*/
4
5# include <ctype.h> /* for isdigit */
6# include "lclintMacros.nf"
7# include "basic.h"
8# include "cgrammar.h"
9# include "cgrammar_tokens.h"
10
11# include "exprChecks.h"
12# include "aliasChecks.h"
13# include "exprNodeSList.h"
14//# include "exprData.i"
15
16
c3e695ff 17constraintExprData constraintExprData_copyBinaryExpr(constraintExprData data)
18{
19 constraintExprData ret;
20 llassert(constraintExprData_isDefined(data));
21 ret = dmalloc (sizeof (*ret) );
22 ret->binaryOp.binaryOp = data->binaryOp.binaryOp;
23 ret->binaryOp.expr1 = constraintExpr_copy (data->binaryOp.expr1);
24 ret->binaryOp.expr2 = constraintExpr_copy (data->binaryOp.expr2);
25 return ret;
26}
3aaedf88 27
c3e695ff 28constraintExprData constraintExprData_copyUnaryExpr(constraintExprData data)
3aaedf88 29{
c3e695ff 30 constraintExprData ret;
31 llassert(constraintExprData_isDefined(data));
3aaedf88 32 ret = dmalloc (sizeof (*ret) );
c3e695ff 33
34 ret->unaryOp.unaryOp = data->unaryOp.unaryOp;
35 ret->unaryOp.expr = constraintExpr_copy (data->unaryOp.expr);
3aaedf88 36
37 return ret;
38}
39
c3e695ff 40constraintExprData constraintExprData_copyTerm (constraintExprData data)
41{
42 constraintExprData ret;
43 llassert(constraintExprData_isDefined(data));
44 ret = dmalloc (sizeof (*ret) );
45 ret->term = constraintTerm_copy (data->term);
46 return ret;
47}
48
49// constraintExprData constraintExprData_copy (constraintExprData data, constraintExprKind kind)
50// {
51// constraintExprData ret;
52// llassert(constraintExprData_isDefined(data));
53// ret = dmalloc (sizeof (*ret) );
54// switch (kind)
55// {
56// case binaryexpr:
57// ret->binaryOp.binaryOp = data->binaryOp.binaryOp;
58// ret->binaryOp.expr1 = constraintExpr_copy (data->binaryOp.expr1);
59// ret->binaryOp.expr2 = constraintExpr_copy (data->binaryOp.expr2);
60// break;
61// case unaryExpr:
62// ret->unaryOp.unaryOp = data->unaryOp.unaryOp;
63// ret->unaryOp.expr = constraintExpr_copy (data->unaryOp.expr);
64// break;
65// case term:
66// ret->term = constraintTerm_copy (data->term);
67// }
68
69// return ret;
70// }
71
3aaedf88 72constraintExprData constraintExprData_termSetTerm (/*@out@*/ constraintExprData data, constraintTerm term)
73{
c3e695ff 74 llassert (constraintExprData_isDefined(data));
3aaedf88 75 data->term = constraintTerm_copy(term);
76 return data;
77}
78
79
80
81constraintTerm constraintExprData_termGetTerm (constraintExprData data)
82{
c3e695ff 83 llassert (constraintExprData_isDefined(data));
3aaedf88 84 return data->term;
85}
86
87
88constraintExprUnaryOpKind constraintExprData_unaryExprGetOp (constraintExprData data)
89{
c3e695ff 90 llassert (constraintExprData_isDefined(data));
3aaedf88 91 return (data->unaryOp.unaryOp);
92}
93
94
95constraintExpr constraintExprData_unaryExprGetExpr (constraintExprData data)
96{
c3e695ff 97 llassert (constraintExprData_isDefined(data));
3aaedf88 98 return (data->unaryOp.expr);
99}
100
101
102
c3e695ff 103constraintExprData constraintExprData_unaryExprSetOp (/*@out@*/ constraintExprData data, constraintExprUnaryOpKind op)
3aaedf88 104{
c3e695ff 105 llassert (constraintExprData_isDefined(data));
3aaedf88 106 data->unaryOp.unaryOp = op;
107 return data;
108}
109
c3e695ff 110constraintExprData constraintExprData_unaryExprSetExpr (/*@out@*/ constraintExprData data, constraintExpr expr)
3aaedf88 111{
c3e695ff 112 llassert (constraintExprData_isDefined(data));
3aaedf88 113 data->unaryOp.expr = constraintExpr_copy(expr);
114 return data;
115}
116
117// binaryExpr stuff
118
119
120constraintExprBinaryOpKind constraintExprData_binaryExprGetOp (constraintExprData data)
121{
c3e695ff 122 llassert (constraintExprData_isDefined(data));
3aaedf88 123 return (data->binaryOp.binaryOp);
124}
125
126
127constraintExpr constraintExprData_binaryExprGetExpr1 (constraintExprData data)
128{
c3e695ff 129 llassert (constraintExprData_isDefined(data));
3aaedf88 130 return (data->binaryOp.expr1);
131}
132
133
134constraintExpr constraintExprData_binaryExprGetExpr2 (constraintExprData data)
135{
c3e695ff 136 llassert (constraintExprData_isDefined(data));
3aaedf88 137 return (data->binaryOp.expr2);
138}
139
140
141constraintExprData constraintExprData_binaryExprSetExpr1 (constraintExprData data, constraintExpr expr)
142{
c3e695ff 143 llassert (constraintExprData_isDefined(data));
3aaedf88 144 data->binaryOp.expr1 = constraintExpr_copy(expr);
145 return data;
146}
147
148constraintExprData constraintExprData_binaryExprSetExpr2 (constraintExprData data, constraintExpr expr)
149{
c3e695ff 150 llassert (constraintExprData_isDefined(data));
3aaedf88 151 data->binaryOp.expr2 = constraintExpr_copy(expr);
152 return data;
153}
154
155
c3e695ff 156/*@special@*/ constraintExprData constraintExprData_binaryExprSetOp (/*@returned@*/ /*@out@*/constraintExprData data, constraintExprBinaryOpKind op) /*@defines result->binaryOp.binaryOp@*/
3aaedf88 157{
c3e695ff 158 llassert (constraintExprData_isDefined(data));
3aaedf88 159 data->binaryOp.binaryOp = op;
160 return data;
161}
This page took 0.07274 seconds and 5 git commands to generate.