diff options
Diffstat (limited to 'clang/tools')
| -rw-r--r-- | clang/tools/libclang/CXType.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/clang/tools/libclang/CXType.cpp b/clang/tools/libclang/CXType.cpp index fce7ef2c0d8..16e993e2ac0 100644 --- a/clang/tools/libclang/CXType.cpp +++ b/clang/tools/libclang/CXType.cpp @@ -147,6 +147,9 @@ static inline CXTranslationUnit GetTU(CXType CT) { static Optional<ArrayRef<TemplateArgument>> GetTemplateArguments(QualType Type) { assert(!Type.isNull()); + if (const auto *Specialization = Type->getAs<TemplateSpecializationType>()) + return Specialization->template_arguments(); + if (const auto *RecordDecl = Type->getAsCXXRecordDecl()) { const auto *TemplateDecl = dyn_cast<ClassTemplateSpecializationDecl>(RecordDecl); @@ -154,9 +157,6 @@ GetTemplateArguments(QualType Type) { return TemplateDecl->getTemplateArgs().asArray(); } - if (const auto *Specialization = Type->getAs<TemplateSpecializationType>()) - return Specialization->template_arguments(); - return None; } |

