[llvm-commits] CVS: llvm/docs/ProgrammersManual.html
Reid Spencer
reid at x10sys.com
Sat Jan 6 16:41:54 PST 2007
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:dhurjati at cs.uiuc.edu">Dinakar Dhurjati</a> and
<a href="mailto:sabre at nondot.org">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>
More information about the llvm-commits
mailing list