]> andersk Git - splint.git/blame_incremental - src/Headers/constraintTerm.h
Fixed name checking errors.
[splint.git] / src / Headers / constraintTerm.h
... / ...
CommitLineData
1#ifndef __constraintTerm_h__
2
3#define __constraintTerm_h__
4
5typedef union
6{
7 /*@exposed@*/ /*@dependent@*/ exprNode expr;
8 /*@only@*/ sRef sref;
9 long intlit;
10} constraintTermValue;
11
12typedef enum
13{
14 CTT_ERRORBADCONSTRAINTTERMTYPE,
15 CTT_EXPR,
16 CTT_SREF,
17 CTT_INTLITERAL
18} constraintTermType;
19
20struct s_constraintTerm {
21 /*@only@*/ fileloc loc;
22 constraintTermValue value;
23 constraintTermType kind;
24} ;
25
26abst_typedef struct s_constraintTerm *constraintTerm;
27
28/*@i311 shouldn't need this...never null */
29extern bool constraintTerm_isDefined (constraintTerm p_t) /*@*/ ;
30
31extern constraintTermType constraintTerm_getKind (constraintTerm) ;
32extern /*@exposed@*/ sRef constraintTerm_getSRef (constraintTerm) ;
33
34void constraintTerm_free (/*@only@*/ constraintTerm p_term);
35
36constraintTerm constraintTerm_simplify (/*@returned@*/ constraintTerm p_term) /*@modifies p_term@*/ ;
37
38/*@only@*/ constraintTerm constraintTerm_makeExprNode (/*@dependent@*/ exprNode p_e) /*@*/;
39
40constraintTerm constraintTerm_copy (constraintTerm p_term) /*@*/;
41
42bool constraintTerm_similar (constraintTerm p_term1, constraintTerm p_term2) /*@*/;
43
44bool constraintTerm_canGetValue (constraintTerm p_term)/*@*/;
45long constraintTerm_getValue (constraintTerm p_term) /*@*/;
46
47fileloc constraintTerm_getFileloc (constraintTerm p_t) /*@*/;
48
49
50bool constraintTerm_isIntLiteral (constraintTerm p_term) /*@*/;
51
52constraintTerm constraintTerm_makesRef (/*@temp@*/ /*@observer@*/ sRef p_s) /*@*/;
53
54/*@unused@*/ bool constraintTerm_probSame (constraintTerm p_term1, constraintTerm p_term2) /*@*/;
55
56constraintTerm constraintTerm_setFileloc (/*@returned@*/ constraintTerm p_term, fileloc p_loc) /*@modifies p_term@*/;
57
58constraintTerm constraintTerm_makeIntLiteral (long p_i) /*@*/;
59
60bool constraintTerm_isStringLiteral (constraintTerm p_c) /*@*/;
61cstring constraintTerm_getStringLiteral (constraintTerm p_c) /*@*/;
62
63
64constraintTerm constraintTerm_doSRefFixBaseParam (/*@returned@*/ constraintTerm p_term, exprNodeList p_arglist) /*@modifies p_term@*/;
65
66extern cstring constraintTerm_unparse (constraintTerm) /*@*/ ;
67
68extern void constraintTerm_dump ( /*@observer@*/ constraintTerm p_t, FILE * p_f);
69extern /*@only@*/ constraintTerm constraintTerm_undump ( FILE * p_f);
70extern bool constraintTerm_isInitBlock (/*@observer@*/ /*@temp@*/ constraintTerm p_c) /*@*/;
71extern int constraintTerm_getInitBlockLength (/*@observer@*/ /*@temp@*/ constraintTerm p_c) /*@*/;
72extern bool constraintTerm_isExprNode (/*@observer@*/ /*@temp@*/ constraintTerm p_c) /*@*/;
73extern ctype constraintTerm_getCType (constraintTerm p_term);
74
75extern /*@exposed@*/ exprNode constraintTerm_getExprNode (constraintTerm p_t);
76extern /*@exposed@*/ sRef constraintTerm_getsRef (constraintTerm p_t);
77
78/*drl added 12/19/2002*/
79extern bool constraintTerm_isConstantOnly (constraintTerm p_term);
80
81#else
82#error "Multiple Include!"
83#endif
This page took 0.076968 seconds and 5 git commands to generate.