Main Page   Alphabetical List   Compound List   File List   Compound Members   File Members  

sRefTable.c File Reference

#include "lclintMacros.nf"
#include "basic.h"
#include "sRefTable.h"

Go to the source code of this file.

Functions

sRefTable sRefTable_add (sRefTable s, sRef el)
void sRefTable_clear (sRefTable s)
cstring sRefTable_unparse (sRefTable s)
void sRefTable_free ( sRefTable s)


Function Documentation

sRefTable sRefTable_add ( sRefTable s,
sRef el )
 

Definition at line 67 of file sRefTable.c.

00068 {
00069   if (sRefTable_isNull (s))
00070     {
00071       s = sRefTable_new ();
00072     }
00073 
00074   if (s->nspace <= 0)
00075     {
00076       sRefTable_grow (s);
00077     }
00078 
00079   s->nspace--;
00080   
00081   llassert (s->elements != NULL);
00082   s->elements[s->entries] = el;
00083   
00084   s->entries++;
00085 
00086   return s;
00087 }

void sRefTable_clear ( sRefTable s )
 

Definition at line 90 of file sRefTable.c.

Referenced by sRef_exitFunctionScope().

00091 {
00092   if (sRefTable_isDefined (s))
00093     {
00094       int i;
00095       
00096       for (i = 0; i < s->entries; i++)
00097         {
00098                   sRef_free (s->elements[i]); 
00099         }
00100 
00101       s->nspace += s->entries;
00102       s->entries = 0;
00103     }
00104 }

void sRefTable_free ( sRefTable s )
 

Definition at line 132 of file sRefTable.c.

Referenced by sRef_destroyMod().

00133 {
00134   if (sRefTable_isDefined (s))
00135     {
00136       int i;
00137 
00138       for (i = 0; i < s->entries; i++)
00139         {
00140           sRef_free (s->elements[i]);
00141         }
00142 
00143       sfree (s->elements); 
00144       sfree (s);
00145     }
00146 }

cstring sRefTable_unparse ( sRefTable s )
 

Definition at line 113 of file sRefTable.c.

00114 {
00115   int i;
00116   cstring st = cstring_undefined;
00117 
00118   if (sRefTable_isDefined (s))
00119     {
00120       for (i = 0; i < sRefTable_size (s); i++)
00121         {
00122           if (i == 0)
00123             st = message ("%4d. %q\n", i, sRef_unparse (s->elements[i]));
00124           else
00125             st = message ("%q%4d. %q\n", st, i, sRef_unparse (s->elements[i]));
00126         }
00127     }
00128   return st;
00129 }


Generated at Fri Nov 3 18:58:13 2000 for LCLint by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000