diff options
author | Abramo Bagnara <abramo.bagnara@gmail.com> | 2010-06-12 08:15:14 +0000 |
---|---|---|
committer | Abramo Bagnara <abramo.bagnara@gmail.com> | 2010-06-12 08:15:14 +0000 |
commit | 9b9348889d85fc9daf943c64e3ac3fb021a4f028 (patch) | |
tree | 736b4610860f5df68e251777800f1ee3b27756cc /lib/AST/Decl.cpp | |
parent | 570d2763bc9ee6c26b12c0b6316dd87261520bfe (diff) |
Added template parameters info for out-of-line definitions of class template methods.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105882 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AST/Decl.cpp')
-rw-r--r-- | lib/AST/Decl.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/lib/AST/Decl.cpp b/lib/AST/Decl.cpp index 4d13f7f3ab..cad7f1f88a 100644 --- a/lib/AST/Decl.cpp +++ b/lib/AST/Decl.cpp @@ -566,6 +566,29 @@ void DeclaratorDecl::setQualifierInfo(NestedNameSpecifier *Qualifier, } } +void +QualifierInfo::setTemplateParameterListsInfo(unsigned NumTPLists, + TemplateParameterList **TPLists) { + assert((NumTPLists == 0 || TPLists != 0) && + "Empty array of template parameters with positive size!"); + assert((NumTPLists == 0 || NNS) && + "Nonempty array of template parameters with no qualifier!"); + + // Free previous template parameters (if any). + if (NumTemplParamLists > 0) { + delete[] TemplParamLists; + TemplParamLists = 0; + NumTemplParamLists = 0; + } + // Set info on matched template parameter lists (if any). + if (NumTPLists > 0) { + TemplParamLists = new TemplateParameterList*[NumTPLists]; + NumTemplParamLists = NumTPLists; + for (unsigned i = NumTPLists; i-- > 0; ) + TemplParamLists[i] = TPLists[i]; + } +} + //===----------------------------------------------------------------------===// // VarDecl Implementation //===----------------------------------------------------------------------===// |