]> andersk Git - splint.git/blame - src/Headers/constraintExprData.h
Added manual files
[splint.git] / src / Headers / constraintExprData.h
CommitLineData
a8e557d3 1#ifndef __constraintExprData_h__
2
3#define __constraintExprData_h__
4
5
6typedef enum
7{
84c9ffbf 8 BINARYOP_UNDEFINED,
acfb6ad9 9 BINARYOP_PLUS,
10 BINARYOP_MINUS
a8e557d3 11}
12constraintExprBinaryOpKind;
13
14typedef enum
15{
16 UNARYOP_UNDEFINED,
bb25bea6 17 MAXSET, MINSET, MAXREAD, MINREAD
a8e557d3 18 }
19constraintExprUnaryOpKind;
20
21
22typedef struct constraintExprBinaryOp_
23{
24 constraintExpr expr1;
25 constraintExprBinaryOpKind binaryOp;
26 constraintExpr expr2;
27} constraintExprBinaryOp;
28
29
30typedef struct constraintExprUnaryOp_
31{
32 constraintExpr expr;
33 constraintExprUnaryOpKind unaryOp;
34} constraintExprUnaryOp;
35
36
28bf4b0b 37typedef union constraintExprData
a8e557d3 38{
39 constraintExprBinaryOp binaryOp;
40 constraintExprUnaryOp unaryOp;
41 constraintTerm term;
dfd03f44 42} *constraintExprData;
a8e557d3 43
dfd03f44 44extern /*@falsenull@*/ bool constraintExprData_isDefined (/*@temp@*/ /*@observer@*/ /*@reldef@*/ constraintExprData p_e) /*@*/ ;
45# define constraintExprData_isDefined(e) ((e) != NULL)
a8e557d3 46
2934b455 47extern void constraintExprData_freeBinaryExpr (/*@only@*/ constraintExprData) ;
48extern void constraintExprData_freeUnaryExpr (/*@only@*/ constraintExprData) ;
49extern void constraintExprData_freeTerm (/*@only@*/ constraintExprData) ;
a8e557d3 50
b7b694d6 51extern constraintExprData constraintExprData_termSetTerm ( /*@returned@*/ /*@partial@*/ constraintExprData p_data, /*@only@*/ constraintTerm p_term);
d46ce6a4 52
b7b694d6 53extern /*@observer@*/ constraintTerm constraintExprData_termGetTerm (/*@observer@*/ constraintExprData p_data) /*@*/;
a8e557d3 54
b7b694d6 55extern constraintExprUnaryOpKind constraintExprData_unaryExprGetOp (/*@observer@*/ /*@reldef@*/ constraintExprData p_data) /*@*/;
a8e557d3 56
b7b694d6 57extern /*@observer@*/ constraintExpr constraintExprData_unaryExprGetExpr (/*@observer@*/ /*@reldef@*/constraintExprData p_data) /*@*/;
a8e557d3 58
b7b694d6 59extern constraintExprData constraintExprData_unaryExprSetOp (/*@partial@*/ /*@returned@*/ constraintExprData p_data, constraintExprUnaryOpKind p_op);
a8e557d3 60
b7b694d6 61extern constraintExprData constraintExprData_unaryExprSetExpr (/*@partial@*/ /*@returned@*/ constraintExprData p_data, /*@only@*/ constraintExpr p_expr);
a8e557d3 62
b7b694d6 63extern constraintExprBinaryOpKind constraintExprData_binaryExprGetOp (/*@partial@*/constraintExprData p_data) /*@*/;
a8e557d3 64
b7b694d6 65extern /*@observer@*/ constraintExpr constraintExprData_binaryExprGetExpr1 (/*@observer@*/ /*@reldef@*/constraintExprData p_data)/*@*/;
a8e557d3 66
b7b694d6 67extern /*@observer@*/ constraintExpr constraintExprData_binaryExprGetExpr2 (/*@observer@*/ /*@reldef@*/constraintExprData p_data)/*@*/;
a8e557d3 68
b7b694d6 69extern constraintExprData constraintExprData_binaryExprSetExpr1 (/*@partial@*/ /*@returned@*/ constraintExprData p_data, /*@only@*/ constraintExpr p_expr) ;
a8e557d3 70
b7b694d6 71extern constraintExprData constraintExprData_binaryExprSetExpr2 (/*@partial@*/ /*@returned@*/ constraintExprData p_data, /*@only@*/ constraintExpr p_expr);
a8e557d3 72
b7b694d6 73extern constraintExprData constraintExprData_binaryExprSetOp (/*@partial@*/ /*@returned@*/ /*@out@*/constraintExprData p_data, constraintExprBinaryOpKind p_op);
a8e557d3 74
b7b694d6 75extern /*@only@*/ constraintExprData constraintExprData_copyBinaryExpr(/*@observer@*/ constraintExprData p_data);
76extern /*@only@*/ constraintExprData constraintExprData_copyUnaryExpr(/*@observer@*/ constraintExprData p_data);
77extern /*@only@*/ constraintExprData constraintExprData_copyTerm (/*@observer@*/ constraintExprData p_data);
a8e557d3 78
79#else
a8e557d3 80#error "Multiple Include"
a8e557d3 81#endif
This page took 0.195157 seconds and 5 git commands to generate.