================ @@ -2544,6 +2544,19 @@ Stmt *BlockExpr::getBody() { //===----------------------------------------------------------------------===// // Generic Expression Routines //===----------------------------------------------------------------------===// +namespace { +/// Helper to determine wether \c E is a CXXConstructExpr constructing +/// a DecompositionDecl. Used to skip Clang-generated calls to std::get +/// for structured bindings. +bool IsDecompositionDeclRefExpr(const Expr *E) { + const Expr *Unrwapped = E->IgnoreUnlessSpelledInSource(); + const DeclRefExpr *Ref = llvm::dyn_cast_or_null<DeclRefExpr>(Unrwapped); + if (!Ref) + return false; + + return llvm::isa_and_nonnull<DecompositionDecl>(Ref->getDecl()); ---------------- cor3ntin wrote:
```suggestion return isa_and_nonnull<DecompositionDecl>(Ref->getDecl()); ``` https://github.com/llvm/llvm-project/pull/122265 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits