mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-12 03:32:10 +00:00
Make SymbolTable::insert, SymbolTable::remove and SymbolTable::rename private.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33987 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
f29a09d627
commit
1e348549d9
@ -20,13 +20,30 @@
|
|||||||
#include <map>
|
#include <map>
|
||||||
|
|
||||||
namespace llvm {
|
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
|
/// 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
|
/// a std::map<std::string,Value*> but has a controlled interface provided by
|
||||||
/// LLVM as well as ensuring uniqueness of names.
|
/// LLVM as well as ensuring uniqueness of names.
|
||||||
///
|
///
|
||||||
class ValueSymbolTable {
|
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
|
/// @name Types
|
||||||
/// @{
|
/// @{
|
||||||
public:
|
public:
|
||||||
@ -109,6 +126,7 @@ public:
|
|||||||
/// @brief Strip the symbol table.
|
/// @brief Strip the symbol table.
|
||||||
bool strip();
|
bool strip();
|
||||||
|
|
||||||
|
private:
|
||||||
/// This method adds the provided value \p N to the symbol table. The Value
|
/// 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.
|
/// must have a name which is used to place the value in the symbol table.
|
||||||
/// @brief Add a named value to the symbol table
|
/// @brief Add a named value to the symbol table
|
||||||
|
Loading…
x
Reference in New Issue
Block a user