]> andersk Git - splint.git/blame - src/constraintExprData.c
Added files
[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
17
18#include "constraintExpr.h"
19
20constraintExprData constraintExprData_copy (constraintExprData data, constraintExprKind kind)
21{
22 constraintExprData ret;
23 llassert(data);
24 ret = dmalloc (sizeof (*ret) );
25 switch (kind)
26 {
27 case binaryexpr:
28 ret->binaryOp.binaryOp = data->binaryOp.binaryOp;
29 ret->binaryOp.expr1 = constraintExpr_copy (data->binaryOp.expr1);
30 ret->binaryOp.expr2 = constraintExpr_copy (data->binaryOp.expr2);
31 break;
32 case unaryExpr:
33 ret->unaryOp.unaryOp = data->unaryOp.unaryOp;
34 ret->unaryOp.expr = constraintExpr_copy (data->unaryOp.expr);
35 break;
36 case term:
37 ret->term = constraintTerm_copy (data->term);
38 }
39
40 return ret;
41}
42
43constraintExprData constraintExprData_termSetTerm (/*@out@*/ constraintExprData data, constraintTerm term)
44{
45 llassert (data);
46 data->term = constraintTerm_copy(term);
47 return data;
48}
49
50
51
52constraintTerm constraintExprData_termGetTerm (constraintExprData data)
53{
54 llassert (data);
55 return data->term;
56}
57
58
59constraintExprUnaryOpKind constraintExprData_unaryExprGetOp (constraintExprData data)
60{
61 llassert (data);
62 return (data->unaryOp.unaryOp);
63}
64
65
66constraintExpr constraintExprData_unaryExprGetExpr (constraintExprData data)
67{
68 llassert (data);
69 return (data->unaryOp.expr);
70}
71
72
73
74constraintExprData constraintExprData_unaryExprSetOp (constraintExprData data, constraintExprUnaryOpKind op)
75{
76 llassert (data);
77 data->unaryOp.unaryOp = op;
78 return data;
79}
80
81constraintExprData constraintExprData_unaryExprSetExpr (constraintExprData data, constraintExpr expr)
82{
83 llassert (data);
84 data->unaryOp.expr = constraintExpr_copy(expr);
85 return data;
86}
87
88// binaryExpr stuff
89
90
91constraintExprBinaryOpKind constraintExprData_binaryExprGetOp (constraintExprData data)
92{
93 llassert (data);
94 return (data->binaryOp.binaryOp);
95}
96
97
98constraintExpr constraintExprData_binaryExprGetExpr1 (constraintExprData data)
99{
100 llassert (data);
101 return (data->binaryOp.expr1);
102}
103
104
105constraintExpr constraintExprData_binaryExprGetExpr2 (constraintExprData data)
106{
107 llassert (data);
108 return (data->binaryOp.expr2);
109}
110
111
112constraintExprData constraintExprData_binaryExprSetExpr1 (constraintExprData data, constraintExpr expr)
113{
114 llassert (data);
115 data->binaryOp.expr1 = constraintExpr_copy(expr);
116 return data;
117}
118
119constraintExprData constraintExprData_binaryExprSetExpr2 (constraintExprData data, constraintExpr expr)
120{
121 llassert (data);
122 data->binaryOp.expr2 = constraintExpr_copy(expr);
123 return data;
124}
125
126
127constraintExprData constraintExprData_binaryExprSetOp (/*@returned@*/ constraintExprData data, constraintExprBinaryOpKind op)
128{
129 llassert (data);
130 data->binaryOp.binaryOp = op;
131 return data;
132}
This page took 0.812215 seconds and 5 git commands to generate.