================
@@ -515,26 +515,94 @@ namespace {
     Call
   };
 
+  /// Either a FunctionDecl or an ObjCMethodDecl. This struct papers over the
+  /// fact that their common ancestors are DeclContext and NamedDecl, which
+  /// does not allow the enumeration of their parameters very easily.
+  class CallableDecl {
----------------
erichkeane wrote:

This type seems unnecessary.  We have some variant-like tagged-union types that 
would just as easily be usable here. Easiest is probably `llvm::PointerUnion`.

That said, there is interest I thought in representing `callable` at the AST 
level.  Though, I'm not sure how much lambdas, functions, methods, ObjC 
Methods, Blocks, etc share that would make this worth-while.

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

Reply via email to