[clang] [clang-tools-extra] [Clang] Unify interface for accessing template arguments as written for class/variable template specializations (PR #81642)

Aaron Ballman via cfe-commits cfe-commits at lists.llvm.org
Tue May 7 08:37:03 PDT 2024


================
@@ -111,6 +111,13 @@ Clang Frontend Potentially Breaking Changes
     $ clang --target=<your target triple> -print-target-triple
     <the normalized target triple>
 
+- The ``getTypeAsWritten`` member function has been removed from ``ClassTemplateSpecializationDecl`` and
+  ``VarTemplateSpecializationDecl``, and a new member function ``getTemplateArgsAsWritten`` returning a
+  ``const ASTTemplateArgumentListInfo *`` has been added to access to the explicitly written template
+  argument list of explicit specializations, partial specializations, and explicit instantiations of
+  class and variable templates. Consequently, the ``hasTypeLoc`` AST matcher will no longer match these
+  declarations and existing uses should switch to ``TemplateArgumentLoc`` matchers instead.
+
----------------
AaronBallman wrote:

I think we can remove the internal details and go with something shorter, like:
```
The `hasTypeLoc` AST matcher will no longer match a `classTemplateSpecializationDecl`; existing uses should switch to `templateArgumentLoc` or `hasAnyTemplateArgumentLoc` instead.
```
WDYT?

https://github.com/llvm/llvm-project/pull/81642


More information about the cfe-commits mailing list