X-Git-Url: http://andersk.mit.edu/gitweb/splint.git/blobdiff_plain/08eb3d0ec56d0574e69334b7a8f09f3bef93b9f4..112c85fd5ba63bbf83526cdadfc7751b2cf74311:/src/Headers/metaStateExpression.h?ds=sidebyside diff --git a/src/Headers/metaStateExpression.h b/src/Headers/metaStateExpression.h index f047fd5..1852310 100644 --- a/src/Headers/metaStateExpression.h +++ b/src/Headers/metaStateExpression.h @@ -1,5 +1,5 @@ /* -** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2001. +** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2003. ** See ../LICENSE for license information. */ /* @@ -14,12 +14,29 @@ struct s_metaStateExpression { /*@null@*/ metaStateExpression rest; } ; +/*@constant null metaStateExpression metaStateExpression_undefined; @*/ +# define metaStateExpression_undefined ((metaStateExpression) NULL) + +extern /*@falsewhennull@*/ bool metaStateExpression_isDefined (metaStateExpression) /*@*/ ; +# define metaStateExpression_isDefined(p_info) ((p_info) != NULL) + +extern /*@nullwhentrue@*/ bool metaStateExpression_isUndefined (metaStateExpression) /*@*/ ; +# define metaStateExpression_isUndefined(p_info) ((p_info) == NULL) + extern /*@notnull@*/ metaStateExpression metaStateExpression_create (/*@only@*/ metaStateSpecifier) ; extern /*@notnull@*/ metaStateExpression metaStateExpression_createMerge (/*@only@*/ metaStateSpecifier, /*@only@*/ metaStateExpression) ; +extern /*@observer@*/ metaStateSpecifier +metaStateExpression_getSpecifier (metaStateExpression) /*@*/ ; + +extern bool metaStateExpression_isMerge (metaStateExpression) /*@*/ ; +extern /*@observer@*/ metaStateExpression metaStateExpression_getRest (metaStateExpression) /*@*/ ; + +extern metaStateExpression metaStateExpression_copy (metaStateExpression) ; + extern cstring metaStateExpression_unparse (metaStateExpression) /*@*/ ; extern void metaStateExpression_free (/*@only@*/ metaStateExpression) ;