================
@@ -2838,6 +2838,18 @@ class alignas(TypeAlignment) Type : public 
ExtQualsTypeCommonBase {
   /// immediately following this class.
   template <typename T> const T *getAs() const;
 
+  /// Look through sugar for an instance of TemplateSpecializationType which
+  /// is not a type alias.
+  const TemplateSpecializationType *
+  getAsNonAliasTemplateSpecializationType() const;
+
+  const TemplateSpecializationType *
+  castAsNonAliasTemplateSpecializationType() const {
+    auto TST = getAsNonAliasTemplateSpecializationType();
----------------
erichkeane wrote:

As an interface, I question these two functions looking like/working like a 
getAs/castAs.  I would expect us to be able to do a `normal` `getAs` on these 
(perhaps with a specialization), and have it be right, but the not-type-alias 
part is a little different/jarring.  

https://github.com/llvm/llvm-project/pull/135916
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to