]> andersk Git - splint.git/blobdiff - src/Headers/constraintTerm.h
Merged code tree with Dave Evans's version. Many changes to numberous to list....
[splint.git] / src / Headers / constraintTerm.h
index bce68b15c9aee06c3fe1bb27222d157a61475c77..7e9207e25391981759b8c80f57a0ebc4e7d79d6b 100644 (file)
@@ -4,11 +4,13 @@
 
 typedef union
 {
-  /*@dependent@*/ exprNode expr;
+  /*@exposed@*/ /*@dependent@*/ exprNode expr;
   /*@only@*/  sRef     sref;
   int      intlit;
 } constraintTermValue;
 
+/*@-namechecks@*/
+
 void constraintTermValue_copy (/*@out@*/ constraintTermValue src, constraintTermValue dst);
 
 /*@-macroassign*/
@@ -25,7 +27,7 @@ typedef enum
 } constraintTermType;
 
 struct _constraintTerm {
-  fileloc loc;
+  /*@only@*/ fileloc loc;
   constraintTermValue value;
   constraintTermType kind;
 };
@@ -33,7 +35,8 @@ struct _constraintTerm {
 
 abst_typedef struct _constraintTerm * constraintTerm;
 
-
+extern constraintTermType constraintTerm_getKind (constraintTerm) ;
+extern /*@exposed@*/ sRef constraintTerm_getSRef (constraintTerm) ;
 
 extern /*@falsenull@*/ bool constraintTerm_isDefined (constraintTerm p_e) /*@*/;
 extern /*@unused@*/ /*@truenull@*/ bool constraintTerm_isUndefined (constraintTerm p_e) /*@*/ ;
@@ -53,14 +56,10 @@ void constraintTerm_free (/*@only@*/ constraintTerm term);
 
 constraintTerm constraintTerm_simplify (/*@returned@*/ constraintTerm term) /*@modifies term@*/ ;
 
-constraintTerm constraintTerm_makeExprNode (/*@only@*/ exprNode e) /*@*/;
+/*@only@*/ constraintTerm constraintTerm_makeExprNode (/*@dependent@*/ exprNode e) /*@*/;
 
 constraintTerm constraintTerm_copy (constraintTerm term) /*@*/;
 
-//constraintTerm exprNode_makeConstraintTerm ( exprNode e) /*@*/;
-
-//bool constraintTerm_same (constraintTerm term1, constraintTerm term2) /*@*/;
-
 bool constraintTerm_similar (constraintTerm term1, constraintTerm term2) /*@*/;
 
 bool constraintTerm_canGetValue (constraintTerm term)/*@*/;
@@ -68,25 +67,12 @@ int constraintTerm_getValue (constraintTerm term) /*@*/;
 
 fileloc constraintTerm_getFileloc (constraintTerm t) /*@*/;
 
-//constraintTerm constraintTerm_makeMaxSetexpr (exprNode e) /*@*/;
-
-//constraintTerm constraintTerm_makeMinSetexpr (exprNode e) /*@*/;
-
-//constraintTerm constraintTerm_makeMaxReadexpr (exprNode e) /*@*/;
-
-//constraintTerm constraintTerm_makeMinReadexpr (exprNode e) /*@*/;
-
-//constraintTerm constraintTerm_makeValueexpr (exprNode e) /*@*/;
-
-//constraintTerm intLit_makeConstraintTerm (int i) /*@*/;
-
-//constraintTerm constraintTerm_makeIntLitValue (int i) /*@*/;
 
 bool constraintTerm_isIntLiteral (constraintTerm term) /*@*/;
 
 cstring constraintTerm_print (constraintTerm term) /*@*/;
 
-constraintTerm constraintTerm_makesRef  (/*@only@*/ sRef s) /*@*/;
+constraintTerm constraintTerm_makesRef  (/*@temp@*/ /*@observer@*/ sRef s) /*@*/;
 
 /*@unused@*/ bool constraintTerm_probSame (constraintTerm term1, constraintTerm term2) /*@*/;
 
@@ -100,6 +86,12 @@ cstring constraintTerm_getStringLiteral (constraintTerm c) /*@*/;
 
 constraintTerm constraintTerm_doSRefFixBaseParam (/*@returned@*/ constraintTerm term, exprNodeList arglist) /*@modifies term@*/;
 
+void constraintTerm_dump ( /*@observer@*/ constraintTerm t,  FILE *f);
+
+/*@only@*/ constraintTerm constraintTerm_undump ( FILE *f);
+
+/*@=namechecks@*/
+
 #else
 
 #error Multiple Include
This page took 0.034775 seconds and 4 git commands to generate.