[llvm-commits] CVS: llvm/include/llvm/ValueSymbolTable.h
Chris Lattner
sabre at nondot.org
Tue Feb 6 22:06:40 PST 2007
Changes in directory llvm/include/llvm:
ValueSymbolTable.h updated: 1.4 -> 1.5
---
Log message:
Make SymbolTable::insert, SymbolTable::remove and SymbolTable::rename private.
---
Diffs of the changes: (+21 -3)
ValueSymbolTable.h | 24 +++++++++++++++++++++---
1 files changed, 21 insertions(+), 3 deletions(-)
Index: llvm/include/llvm/ValueSymbolTable.h
diff -u llvm/include/llvm/ValueSymbolTable.h:1.4 llvm/include/llvm/ValueSymbolTable.h:1.5
--- llvm/include/llvm/ValueSymbolTable.h:1.4 Mon Feb 5 14:47:19 2007
+++ llvm/include/llvm/ValueSymbolTable.h Wed Feb 7 00:06:24 2007
@@ -20,13 +20,30 @@
#include <map>
namespace llvm {
-
+ template<typename ValueSubClass, typename ItemParentClass,
+ typename SymTabClass, typename SubClass>
+ class SymbolTableListTraits;
+ template<typename NodeTy> struct ilist_traits;
+ class BasicBlock;
+ class Function;
+ class Module;
+
/// This class provides a symbol table of name/value pairs. It is essentially
/// a std::map<std::string,Value*> but has a controlled interface provided by
/// LLVM as well as ensuring uniqueness of names.
///
class ValueSymbolTable {
-
+ friend class Value;
+ friend class SymbolTableListTraits<Argument, Function, Function,
+ ilist_traits<Argument> >;
+ friend class SymbolTableListTraits<BasicBlock, Function, Function,
+ ilist_traits<BasicBlock> >;
+ friend class SymbolTableListTraits<Instruction, BasicBlock, Function,
+ ilist_traits<Instruction> >;
+ friend class SymbolTableListTraits<Function, Module, Module,
+ ilist_traits<Function> >;
+ friend class SymbolTableListTraits<GlobalVariable, Module, Module,
+ ilist_traits<GlobalVariable> >;
/// @name Types
/// @{
public:
@@ -108,7 +125,8 @@
/// This method will strip the symbol table of its names.
/// @brief Strip the symbol table.
bool strip();
-
+
+private:
/// This method adds the provided value \p N to the symbol table. The Value
/// must have a name which is used to place the value in the symbol table.
/// @brief Add a named value to the symbol table
More information about the llvm-commits
mailing list