Changes in directory llvm/docs:
ProgrammersManual.html updated: 1.101 -> 1.102 --- Log message: Update the documentation for SymbolTable class. --- Diffs of the changes: (+13 -63) ProgrammersManual.html | 76 ++++++++----------------------------------------- 1 files changed, 13 insertions(+), 63 deletions(-) Index: llvm/docs/ProgrammersManual.html diff -u llvm/docs/ProgrammersManual.html:1.101 llvm/docs/ProgrammersManual.html:1.102 --- llvm/docs/ProgrammersManual.html:1.101 Thu Jan 4 16:01:45 2007 +++ llvm/docs/ProgrammersManual.html Sat Jan 6 18:41:39 2007 @@ -1426,14 +1426,14 @@ <p>This class provides a symbol table that the <a href="#Function"><tt>Function</tt></a> and <a href="#Module"> <tt>Module</tt></a> classes use for naming definitions. The symbol table can -provide a name for any <a href="#Value"><tt>Value</tt></a> or <a -href="#Type"><tt>Type</tt></a>. <tt>SymbolTable</tt> is an abstract data -type. It hides the data it contains and provides access to it through a -controlled interface.</p> - -<p>Note that the symbol table class is should not be directly accessed by most -clients. It should only be used when iteration over the symbol table names -themselves are required, which is very special purpose. Note that not all LLVM +provide a name for any <a href="#Value"><tt>Value</tt></a>. +<tt>SymbolTable</tt> is an abstract data type. It hides the data it contains +and provides access to it through a controlled interface.</p> + +<p>Note that the <tt>SymbolTable</tt> class should not be directly accessed +by most clients. It should only be used when iteration over the symbol table +names themselves are required, which is very special purpose. Note that not +all LLVM <a href="#Value">Value</a>s have names, and those without names (i.e. they have an empty name) do not exist in the symbol table. </p> @@ -1442,9 +1442,8 @@ structure of the information it holds. The class contains two <tt>std::map</tt> objects. The first, <tt>pmap</tt>, is a map of <tt>Type*</tt> to maps of name (<tt>std::string</tt>) to <tt>Value*</tt>. -The second, <tt>tmap</tt>, is a map of names to <tt>Type*</tt>. Thus, Values -are stored in two-dimensions and accessed by <tt>Type</tt> and name. Types, -however, are stored in a single dimension and accessed only by name.</p> +Thus, Values are stored in two-dimensions and accessed by <tt>Type</tt> and +name.</p> <p>The interface of this class provides three basic types of operations: <ol> @@ -1456,7 +1455,7 @@ <a href="#SymbolTable_insert"><tt>insert</tt></a>.</li> <li><em>Iterators</em>. Iterators allow the user to traverse the content of the symbol table in well defined ways, such as the method - <a href="#SymbolTable_type_begin"><tt>type_begin</tt></a>.</li> + <a href="#SymbolTable_plane_begin"><tt>plane_begin</tt></a>.</li> </ol> <h3>Accessors</h3> @@ -1467,15 +1466,6 @@ <tt>Ty</tt> parameter for a <tt>Value</tt> with the provided <tt>name</tt>. If a suitable <tt>Value</tt> is not found, null is returned.</dd> - <dt><tt>Type* lookupType( const std::string& name) const</tt>:</dt> - <dd>The <tt>lookupType</tt> method searches through the types for a - <tt>Type</tt> with the provided <tt>name</tt>. If a suitable <tt>Type</tt> - is not found, null is returned.</dd> - - <dt><tt>bool hasTypes() const</tt>:</dt> - <dd>This function returns true if an entry has been made into the type - map.</dd> - <dt><tt>bool isEmpty() const</tt>:</dt> <dd>This function returns true if both the value and types maps are empty</dd> @@ -1493,12 +1483,6 @@ name. There can be a many to one mapping between names and constants or types.</dd> - <dt><tt>void insert(const std::string& Name, Type *Typ)</tt>:</dt> - <dd> Inserts a type into the symbol table with the specified name. There - can be a many-to-one mapping between names and types. This method - allows a type with an existing entry in the symbol table to get - a new name.</dd> - <dt><tt>void remove(Value* Val)</tt>:</dt> <dd> This method removes a named value from the symbol table. The type and name of the Value are extracted from \p N and used to @@ -1506,21 +1490,11 @@ not in the symbol table, this method silently ignores the request.</dd> - <dt><tt>void remove(Type* Typ)</tt>:</dt> - <dd> This method removes a named type from the symbol table. The - name of the type is extracted from \P T and used to look up - the Type in the type map. If the Type is not in the symbol - table, this method silently ignores the request.</dd> - <dt><tt>Value* remove(const std::string& Name, Value *Val)</tt>:</dt> <dd> Remove a constant or type with the specified name from the symbol table.</dd> - <dt><tt>Type* remove(const std::string& Name, Type* T)</tt>:</dt> - <dd> Remove a type with the specified name from the symbol table. - Returns the removed Type.</dd> - - <dt><tt>Value *value_remove(const value_iterator& It)</tt>:</dt> + <dt><tt>Value *remove(const value_iterator& It)</tt>:</dt> <dd> Removes a specific value from the symbol table. Returns the removed value.</dd> @@ -1551,16 +1525,6 @@ </tt></pre></td> </tr> <tr> - <td align="left">All name/Type Pairs</td><td>TI</td> - <td align="left"><pre><tt> -for (SymbolTable::type_const_iterator TI = ST.type_begin(), - TE = ST.type_end(); TI != TE; ++TI ) { - TI->first // <i>This is the name of the type</i> - TI->second // <i>This is the Type* value associated with the name</i> -} - </tt></pre></td> - </tr> - <tr> <td align="left">name/Value pairs in a plane</td><td>VI</td> <td align="left"><pre><tt> for (SymbolTable::value_const_iterator VI = ST.value_begin(SomeType), @@ -1618,20 +1582,6 @@ marker for end of iteration of the type plane. Note: the type plane must already exist before using this.</dd> - <dt><tt>type_iterator type_begin()</tt>:</dt> - <dd>Get an iterator to the start of the name/Type map.</dd> - - <dt><tt>type_const_iterator type_begin() cons</tt>:</dt> - <dd> Get a const_iterator to the start of the name/Type map.</dd> - - <dt><tt>type_iterator type_end()</tt>:</dt> - <dd>Get an iterator to the end of the name/Type map. This serves as the - marker for end of iteration of the types.</dd> - - <dt><tt>type_const_iterator type_end() const</tt>:</dt> - <dd>Get a const-iterator to the end of the name/Type map. This serves - as the marker for end of iteration of the types.</dd> - <dt><tt>plane_const_iterator find(const Type* Typ ) const</tt>:</dt> <dd>This method returns a plane_const_iterator for iteration over the type planes starting at a specific plane, given by \p Ty.</dd> @@ -2569,7 +2519,7 @@ <a href="mailto:[EMAIL PROTECTED]">Dinakar Dhurjati</a> and <a href="mailto:[EMAIL PROTECTED]">Chris Lattner</a><br> <a href="http://llvm.org">The LLVM Compiler Infrastructure</a><br> - Last modified: $Date: 2007/01/04 22:01:45 $ + Last modified: $Date: 2007/01/07 00:41:39 $ </address> </body> _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits