]> andersk Git - splint.git/blobdiff - src/Headers/constraintTerm.h
Fixed name checking errors.
[splint.git] / src / Headers / constraintTerm.h
index 9eaf7e874b30e588a0497ff9d7c89d5a8b4408d2..3ad571c2b252b2d1f19a899996a7fa4a475c36d4 100644 (file)
@@ -1,48 +1,83 @@
-
 #ifndef __constraintTerm_h__
 
 #define __constraintTerm_h__
 
-constraintTerm constraintTerm_simplify (constraintTerm term);
+typedef union
+{
+  /*@exposed@*/ /*@dependent@*/ exprNode expr;
+  /*@only@*/  sRef     sref;
+  long intlit;
+} constraintTermValue;
 
-constraintTerm constraintTerm_makeExprNode (/*@only@*/ exprNode e);
+typedef enum
+{
+  CTT_ERRORBADCONSTRAINTTERMTYPE,
+  CTT_EXPR, 
+  CTT_SREF,
+  CTT_INTLITERAL
+} constraintTermType;
 
-constraintTerm constraintTerm_copy (constraintTerm term);
+struct s_constraintTerm {
+  /*@only@*/ fileloc loc;
+  constraintTermValue value;
+  constraintTermType kind;
+} ;
 
-constraintTerm exprNode_makeConstraintTerm ( exprNode e);
+abst_typedef struct s_constraintTerm *constraintTerm;
 
+/*@i311 shouldn't need this...never null */
+extern bool constraintTerm_isDefined (constraintTerm p_t) /*@*/ ;
 
-bool constraintTerm_same (constraintTerm term1, constraintTerm term2);
+extern constraintTermType constraintTerm_getKind (constraintTerm) ;
+extern /*@exposed@*/ sRef constraintTerm_getSRef (constraintTerm) ;
 
-bool constraintTerm_similar (constraintTerm term1, constraintTerm term2);
+void constraintTerm_free (/*@only@*/ constraintTerm p_term);
 
-bool constraintTerm_canGetValue (constraintTerm term);
-int constraintTerm_getValue (constraintTerm term);
+constraintTerm constraintTerm_simplify (/*@returned@*/ constraintTerm p_term) /*@modifies p_term@*/ ;
 
-fileloc constraintTerm_getFileloc (constraintTerm t);
+/*@only@*/ constraintTerm constraintTerm_makeExprNode (/*@dependent@*/ exprNode p_e) /*@*/;
 
-constraintTerm constraintTerm_makeMaxSetexpr (exprNode e);
+constraintTerm constraintTerm_copy (constraintTerm p_term) /*@*/;
 
-constraintTerm constraintTerm_makeMinSetexpr (exprNode e);
+bool constraintTerm_similar (constraintTerm p_term1, constraintTerm p_term2) /*@*/;
 
-constraintTerm constraintTerm_makeMaxReadexpr (exprNode e);
+bool constraintTerm_canGetValue (constraintTerm p_term)/*@*/;
+long constraintTerm_getValue (constraintTerm p_term) /*@*/;
 
-constraintTerm constraintTerm_makeMinReadexpr (exprNode e);
+fileloc constraintTerm_getFileloc (constraintTerm p_t) /*@*/;
 
-constraintTerm constraintTerm_makeValueexpr (exprNode e);
 
-constraintTerm intLit_makeConstraintTerm (int i);
+bool constraintTerm_isIntLiteral (constraintTerm p_term) /*@*/;
 
-constraintTerm constraintTerm_makeIntLitValue (int i);
+constraintTerm constraintTerm_makesRef  (/*@temp@*/ /*@observer@*/ sRef p_s) /*@*/;
 
-bool constraintTerm_isIntLiteral (constraintTerm term);
+/*@unused@*/ bool constraintTerm_probSame (constraintTerm p_term1, constraintTerm p_term2) /*@*/;
 
-cstring constraintTerm_print (constraintTerm term);
+constraintTerm constraintTerm_setFileloc (/*@returned@*/ constraintTerm p_term, fileloc p_loc) /*@modifies p_term@*/;
 
-#endif
+constraintTerm constraintTerm_makeIntLiteral (long p_i) /*@*/;
 
+bool constraintTerm_isStringLiteral (constraintTerm p_c) /*@*/;
+cstring constraintTerm_getStringLiteral (constraintTerm p_c) /*@*/;
 
 
+constraintTerm constraintTerm_doSRefFixBaseParam (/*@returned@*/ constraintTerm p_term, exprNodeList p_arglist) /*@modifies p_term@*/;
 
+extern cstring constraintTerm_unparse (constraintTerm)  /*@*/ ;
 
+extern void constraintTerm_dump ( /*@observer@*/ constraintTerm p_t,  FILE * p_f);
+extern /*@only@*/ constraintTerm constraintTerm_undump ( FILE * p_f);
+extern bool constraintTerm_isInitBlock (/*@observer@*/ /*@temp@*/ constraintTerm p_c) /*@*/;
+extern int constraintTerm_getInitBlockLength (/*@observer@*/ /*@temp@*/ constraintTerm p_c) /*@*/;
+extern bool constraintTerm_isExprNode (/*@observer@*/ /*@temp@*/ constraintTerm p_c) /*@*/;
+extern ctype constraintTerm_getCType (constraintTerm p_term);
 
+extern /*@exposed@*/ exprNode constraintTerm_getExprNode (constraintTerm p_t);
+extern /*@exposed@*/ sRef constraintTerm_getsRef (constraintTerm p_t);
+
+/*drl added 12/19/2002*/
+extern bool constraintTerm_isConstantOnly (constraintTerm p_term);
+     
+#else
+#error "Multiple Include!"
+#endif
This page took 0.035755 seconds and 4 git commands to generate.