diff options
Diffstat (limited to 'clang/include/clang/AST/TemplateBase.h')
-rw-r--r-- | clang/include/clang/AST/TemplateBase.h | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/clang/include/clang/AST/TemplateBase.h b/clang/include/clang/AST/TemplateBase.h index 6c40eb1168c..7810c306dd9 100644 --- a/clang/include/clang/AST/TemplateBase.h +++ b/clang/include/clang/AST/TemplateBase.h @@ -34,8 +34,7 @@ struct PrintingPolicy; class TypeSourceInfo; class ValueDecl; -/// \brief Represents a template argument within a class template -/// specialization. +/// \brief Represents a template argument. class TemplateArgument { public: /// \brief The kind of template argument we're storing. @@ -52,16 +51,19 @@ public: /// was provided for a non-type template parameter. NullPtr, /// The template argument is an integral value stored in an llvm::APSInt - /// that was provided for an integral non-type template parameter. + /// that was provided for an integral non-type template parameter. Integral, - /// The template argument is a template name that was provided for a + /// The template argument is a template name that was provided for a /// template template parameter. Template, - /// The template argument is a pack expansion of a template name that was + /// The template argument is a pack expansion of a template name that was /// provided for a template template parameter. TemplateExpansion, - /// The template argument is a value- or type-dependent expression or a - /// non-dependent __uuidof expression stored in an Expr*. + /// The template argument is an expression, and we've not resolved it to one + /// of the other forms yet, either because it's dependent or because we're + /// representing a non-canonical template argument (for instance, in a + /// TemplateSpecializationType). Also used to represent a non-dependent + /// __uuidof expression (a Microsoft extension). Expression, /// The template argument is actually a parameter pack. Arguments are stored /// in the Args struct. |