================ @@ -56,6 +60,25 @@ getImplicitObjectParamLifetimeBoundAttr(const FunctionDecl *FD); /// method or because it's a normal assignment operator. bool implicitObjectParamIsLifetimeBound(const FunctionDecl *FD); +using LifetimeBoundParamInfo = + llvm::PointerUnion<const ParmVarDecl *, const CXXMethodDecl *>; + +/// Returns the callee and arguments corresponding to Call. For instance member +/// calls, Args includes the implicit object argument as argument 0. +std::pair<const FunctionDecl *, llvm::SmallVector<const Expr *, 4>> +getFunctionCallInfo(const Expr *Call); ---------------- Xazax-hun wrote:
I think it might be better to have a prequel PR that adds the argument getters/setters to `AnyCall` and rebase this on top of that once that landed because it would make this PR significantly smaller. https://github.com/llvm/llvm-project/pull/206337 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
