diff options
author | Gabor Greif <ggreif@gmail.com> | 2009-03-07 12:33:24 +0000 |
---|---|---|
committer | Gabor Greif <ggreif@gmail.com> | 2009-03-07 12:33:24 +0000 |
commit | 0dd2a6a89f49438b239638ab147ac5746d6c32c3 (patch) | |
tree | d56d4d2f8f90f2b2ae6248e18631cc6896968f12 /include/llvm/SymbolTableListTraits.h | |
parent | 7afd3e1599222dc691cca9e601800878c8546663 (diff) | |
download | llvm-0dd2a6a89f49438b239638ab147ac5746d6c32c3.tar.gz llvm-0dd2a6a89f49438b239638ab147ac5746d6c32c3.tar.bz2 llvm-0dd2a6a89f49438b239638ab147ac5746d6c32c3.tar.xz |
simplify the way how traits get hold of the symbol table
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66336 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/SymbolTableListTraits.h')
-rw-r--r-- | include/llvm/SymbolTableListTraits.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/include/llvm/SymbolTableListTraits.h b/include/llvm/SymbolTableListTraits.h index 44f64dc57f..337b76f766 100644 --- a/include/llvm/SymbolTableListTraits.h +++ b/include/llvm/SymbolTableListTraits.h @@ -55,8 +55,12 @@ public: } static iplist<ValueSubClass> &getList(ItemParentClass *Par) { - return Par->*(Par->getSublistAccess((ValueSubClass*)0)); -} + return Par->*(Par->getSublistAccess((ValueSubClass*)0)); + } + + static ValueSymbolTable *getSymTab(ItemParentClass *Par) { + return Par ? toPtr(Par->getValueSymbolTable()) : 0; + } void addNodeToList(ValueSubClass *V); void removeNodeFromList(ValueSubClass *V); @@ -66,6 +70,8 @@ public: //private: template<typename TPtr> void setSymTabObject(TPtr *, TPtr); + static ValueSymbolTable *toPtr(ValueSymbolTable *P) { return P; } + static ValueSymbolTable *toPtr(ValueSymbolTable &R) { return &R; } }; } // End llvm namespace |