• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //===- InputSymbolTable.h -------------------------------------------------===//
2 //
3 //                     The MCLinker Project
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 #ifndef INPUTSYMBOLTABLE_H
10 #define INPUTSYMBOLTABLE_H
11 #include <llvm/ADT/StringRef.h>
12 #include "mcld/LD/SymbolTableIF.h"
13 #ifdef ENABLE_UNITTEST
14 #include <gtest.h>
15 #endif
16 
17 namespace mcld
18 {
19 
20 class LDSymbol;
21 
22 /** \class InputSymbolTable
23  *  \brief Input symbol table, for MCLDInput.
24  *
25  *  \see
26  */
27 class InputSymbolTable : public SymbolTableIF
28 {
29   /* draft. */
30   friend class SymbolTableFactory;
31 private:
32   InputSymbolTable(StrSymPool &pStrSymPool,
33                    size_t pNumOfSymbols,
34                    StringTable &pEntireStringTable,
35                    StringTable &pDynamicStringTable);
36 private:
37   virtual void doInsertSymbol(LDSymbol *);
38   virtual void doMerge(const SymbolTableIF &);
39 public:
40   virtual ~InputSymbolTable();
41 };
42 
43 } // namespace of mcld
44 
45 #endif
46