[clang] Add error check for HeuristicResolver (PR #155561)

2025-09-01 Thread Mythreya Kuricheti via cfe-commits
MythreyaK wrote: Glad to help, Thank you for the review! https://github.com/llvm/llvm-project/pull/155561 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Add error check for HeuristicResolver (PR #155561)

2025-08-30 Thread Mythreya Kuricheti via cfe-commits
@@ -42,6 +62,11 @@ template ResolveFn, const InputMatcher &IM, const OutputMatchers &...OMS) { auto TU = tooling::buildASTFromCodeWithArgs(Code, {"-std=c++23"}); MythreyaK wrote: omg totally forgot about this, sorry! https://github.co

[clang] Add error check for HeuristicResolver (PR #155561)

2025-08-30 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK updated https://github.com/llvm/llvm-project/pull/155561 >From b0c182fc416a5fa1cd64ef3a95cd4fd05b0c8eef Mon Sep 17 00:00:00 2001 From: Mythreya Kuricheti Date: Thu, 28 Aug 2025 01:27:22 -0700 Subject: [PATCH 1/4] Add `CaptureDiagsKind` to `buildASTFromCodeWithArgs`

[clang] Add error check for HeuristicResolver (PR #155561)

2025-08-29 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK updated https://github.com/llvm/llvm-project/pull/155561 >From b0c182fc416a5fa1cd64ef3a95cd4fd05b0c8eef Mon Sep 17 00:00:00 2001 From: Mythreya Kuricheti Date: Thu, 28 Aug 2025 01:27:22 -0700 Subject: [PATCH 1/3] Add `CaptureDiagsKind` to `buildASTFromCodeWithArgs`

[clang] Add error check for HeuristicResolver (PR #155561)

2025-08-29 Thread Mythreya Kuricheti via cfe-commits
@@ -692,10 +694,13 @@ std::unique_ptr buildASTFromCodeWithArgs( StringRef Code, const std::vector &Args, StringRef FileName, StringRef ToolName, std::shared_ptr PCHContainerOps, ArgumentsAdjuster Adjuster, const FileContentMappings &VirtualMappedFiles, -Diagnos

[clang] Add error check for HeuristicResolver (PR #155561)

2025-08-29 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK edited https://github.com/llvm/llvm-project/pull/155561 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Add error check for HeuristicResolver (PR #155561)

2025-08-29 Thread Mythreya Kuricheti via cfe-commits
@@ -41,7 +61,16 @@ template void expectResolution(llvm::StringRef Code, ResolveFnT ResolveFn, const InputMatcher &IM, const OutputMatchers &...OMS) { + llvm::SmallSet IgnoredDiagnostics{}; auto TU = tooling::buildASTFromCodeWithArgs(Code, {"-std=c++23"

[clang] Add error check for HeuristicResolver (PR #155561)

2025-08-29 Thread Mythreya Kuricheti via cfe-commits
@@ -41,7 +61,16 @@ template void expectResolution(llvm::StringRef Code, ResolveFnT ResolveFn, const InputMatcher &IM, const OutputMatchers &...OMS) { + llvm::SmallSet IgnoredDiagnostics{}; auto TU = tooling::buildASTFromCodeWithArgs(Code, {"-std=c++23"

[clang] Add error check for HeuristicResolver (PR #155561)

2025-08-29 Thread Mythreya Kuricheti via cfe-commits
@@ -238,6 +239,7 @@ std::unique_ptr buildASTFromCodeWithArgs( ArgumentsAdjuster Adjuster = getClangStripDependencyFileAdjuster(), const FileContentMappings &VirtualMappedFiles = FileContentMappings(), DiagnosticConsumer *DiagConsumer = nullptr, +CaptureDiagsKind

[clang] Add error check for HeuristicResolver (PR #155561)

2025-08-28 Thread Mythreya Kuricheti via cfe-commits
@@ -41,7 +61,16 @@ template void expectResolution(llvm::StringRef Code, ResolveFnT ResolveFn, const InputMatcher &IM, const OutputMatchers &...OMS) { + llvm::SmallSet IgnoredDiagnostics{}; MythreyaK wrote: We can't use a trailing default

[clang] Add error check for HeuristicResolver (PR #155561)

2025-08-28 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK deleted https://github.com/llvm/llvm-project/pull/155561 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Add error check for HeuristicResolver (PR #155561)

2025-08-28 Thread Mythreya Kuricheti via cfe-commits
@@ -41,7 +61,16 @@ template void expectResolution(llvm::StringRef Code, ResolveFnT ResolveFn, const InputMatcher &IM, const OutputMatchers &...OMS) { MythreyaK wrote: We can't use a trailing default parameter here, so thought of adding an

[clang] Add error check for HeuristicResolver (PR #155561)

2025-08-27 Thread Mythreya Kuricheti via cfe-commits
MythreyaK wrote: Oh sounds good, I'll give that a shot! https://github.com/llvm/llvm-project/pull/155561 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Add error check for HeuristicResolver (PR #155561)

2025-08-26 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK edited https://github.com/llvm/llvm-project/pull/155561 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Add error check for HeuristicResolver (PR #155561)

2025-08-26 Thread Mythreya Kuricheti via cfe-commits
@@ -31,6 +36,69 @@ template using ResolveFnT = std::function( const HeuristicResolver *, InputNode)>; +struct DiagsConsumer : DiagnosticConsumer { + struct PrettyDiagnostic { +unsigned int ID; +DiagnosticsEngine::Level DiagLevel; +llvm::SmallString<64> Messag

[clang] Add error check for HeuristicResolver (PR #155561)

2025-08-26 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK updated https://github.com/llvm/llvm-project/pull/155561 >From e2e72a40e9833a28d79221a3f1e9acd616c068ec Mon Sep 17 00:00:00 2001 From: Mythreya Kuricheti Date: Tue, 26 Aug 2025 23:19:26 -0700 Subject: [PATCH 1/2] Add error check for HeuristicResolver --- .../unitt

[clang] Add error check for HeuristicResolver (PR #155561)

2025-08-26 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK updated https://github.com/llvm/llvm-project/pull/155561 >From e2e72a40e9833a28d79221a3f1e9acd616c068ec Mon Sep 17 00:00:00 2001 From: Mythreya Kuricheti Date: Tue, 26 Aug 2025 23:19:26 -0700 Subject: [PATCH] Add error check for HeuristicResolver --- .../unittests

[clang] Add error check for HeuristicResolver (PR #155561)

2025-08-26 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK created https://github.com/llvm/llvm-project/pull/155561 Fixes #155545. >From 7304a9afa9b9379e395f1dc7a0e5f6a331b0e455 Mon Sep 17 00:00:00 2001 From: Mythreya Kuricheti Date: Tue, 26 Aug 2025 23:19:26 -0700 Subject: [PATCH] Add error check for HeuristicResolver --

[clang] [clang-tools-extra] [clang] Heuristic resolution for explicit object parameter (PR #155143)

2025-08-26 Thread Mythreya Kuricheti via cfe-commits
@@ -41,7 +41,7 @@ template void expectResolution(llvm::StringRef Code, ResolveFnT ResolveFn, const InputMatcher &IM, const OutputMatchers &...OMS) { - auto TU = tooling::buildASTFromCodeWithArgs(Code, {"-std=c++23"}); + auto TU = tooling::buildASTFromCod

[clang] [clang-tools-extra] [clang] Heuristic resolution for explicit object parameter (PR #155143)

2025-08-26 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK updated https://github.com/llvm/llvm-project/pull/155143 >From c1cdb3909c0bb55ce21d339f087c1e38616fec3f Mon Sep 17 00:00:00 2001 From: Mythreya Kuricheti Date: Sat, 23 Aug 2025 23:57:18 -0700 Subject: [PATCH 1/8] [clang] Heuristic resolution for explicit object par

[clang] [clang-tools-extra] [clang] Heuristic resolution for explicit object parameter (PR #155143)

2025-08-26 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK updated https://github.com/llvm/llvm-project/pull/155143 >From c1cdb3909c0bb55ce21d339f087c1e38616fec3f Mon Sep 17 00:00:00 2001 From: Mythreya Kuricheti Date: Sat, 23 Aug 2025 23:57:18 -0700 Subject: [PATCH 1/6] [clang] Heuristic resolution for explicit object par

[clang] [clang-tools-extra] [clang] Heuristic resolution for explicit object parameter (PR #155143)

2025-08-24 Thread Mythreya Kuricheti via cfe-commits
@@ -301,9 +302,34 @@ std::vector HeuristicResolverImpl::resolveMemberExpr( return {}; } + // check if member expr is in the context of an explicit object method + // If so, it's safe to assume the templated arg is of type of the record + const auto ExplicitMemberHeur

[clang] [clang-tools-extra] [clang] Heuristic resolution for explicit object parameter (PR #155143)

2025-08-24 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK updated https://github.com/llvm/llvm-project/pull/155143 >From c1cdb3909c0bb55ce21d339f087c1e38616fec3f Mon Sep 17 00:00:00 2001 From: Mythreya Kuricheti Date: Sat, 23 Aug 2025 23:57:18 -0700 Subject: [PATCH 1/5] [clang] Heuristic resolution for explicit object par

[clang] [clang-tools-extra] [clang] Heuristic resolution for explicit object parameter (PR #155143)

2025-08-24 Thread Mythreya Kuricheti via cfe-commits
@@ -301,9 +302,34 @@ std::vector HeuristicResolverImpl::resolveMemberExpr( return {}; } + // check if member expr is in the context of an explicit object method + // If so, it's safe to assume the templated arg is of type of the record MythreyaK wrote

[clang] [clang-tools-extra] [clang] Heuristic resolution for explicit object parameter (PR #155143)

2025-08-24 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK updated https://github.com/llvm/llvm-project/pull/155143 >From c1cdb3909c0bb55ce21d339f087c1e38616fec3f Mon Sep 17 00:00:00 2001 From: Mythreya Kuricheti Date: Sat, 23 Aug 2025 23:57:18 -0700 Subject: [PATCH 1/4] [clang] Heuristic resolution for explicit object par

[clang] [clang-tools-extra] [clang] Heuristic resolution for explicit object parameter (PR #155143)

2025-08-24 Thread Mythreya Kuricheti via cfe-commits
@@ -301,9 +302,34 @@ std::vector HeuristicResolverImpl::resolveMemberExpr( return {}; } + // check if member expr is in the context of an explicit object method + // If so, it's safe to assume the templated arg is of type of the record + const auto ExplicitMemberHeur

[clang] [clang-tools-extra] [clang] Heuristic resolution for explicit object parameter (PR #155143)

2025-08-24 Thread Mythreya Kuricheti via cfe-commits
@@ -301,9 +302,34 @@ std::vector HeuristicResolverImpl::resolveMemberExpr( return {}; } + // check if member expr is in the context of an explicit object method + // If so, it's safe to assume the templated arg is of type of the record + const auto ExplicitMemberHeur

[clang] [clang-tools-extra] [clang] Heuristic resolution for explicit object parameter (PR #155143)

2025-08-24 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK updated https://github.com/llvm/llvm-project/pull/155143 >From c1cdb3909c0bb55ce21d339f087c1e38616fec3f Mon Sep 17 00:00:00 2001 From: Mythreya Kuricheti Date: Sat, 23 Aug 2025 23:57:18 -0700 Subject: [PATCH 1/3] [clang] Heuristic resolution for explicit object par

[clang] [clang-tools-extra] [clang] Heuristic resolution for explicit object parameter (PR #155143)

2025-08-24 Thread Mythreya Kuricheti via cfe-commits
@@ -301,9 +302,34 @@ std::vector HeuristicResolverImpl::resolveMemberExpr( return {}; } + // check if member expr is in the context of an explicit object method + // If so, it's safe to assume the templated arg is of type of the record + const auto ExplicitMemberHeur

[clang] [clang-tools-extra] [clang] Heuristic resolution for explicit object parameter (PR #155143)

2025-08-24 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK updated https://github.com/llvm/llvm-project/pull/155143 >From c1cdb3909c0bb55ce21d339f087c1e38616fec3f Mon Sep 17 00:00:00 2001 From: Mythreya Kuricheti Date: Sat, 23 Aug 2025 23:57:18 -0700 Subject: [PATCH 1/2] [clang] Heuristic resolution for explicit object par

[clang] [clang-tools-extra] [clang] Heuristic resolution for explicit object parameter (PR #155143)

2025-08-24 Thread Mythreya Kuricheti via cfe-commits
@@ -301,9 +302,34 @@ std::vector HeuristicResolverImpl::resolveMemberExpr( return {}; } + // check if member expr is in the context of an explicit object method + // If so, it's safe to assume the templated arg is of type of the record + const auto ExplicitMemberHeur

[clang] [clang-tools-extra] [clang] Heuristic resolution for explicit object parameter (PR #155143)

2025-08-24 Thread Mythreya Kuricheti via cfe-commits
@@ -301,9 +302,34 @@ std::vector HeuristicResolverImpl::resolveMemberExpr( return {}; } + // check if member expr is in the context of an explicit object method + // If so, it's safe to assume the templated arg is of type of the record + const auto ExplicitMemberHeur

[clang] [clang-tools-extra] [clang] Heuristic resolution for explicit object parameter (PR #155143)

2025-08-24 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK ready_for_review https://github.com/llvm/llvm-project/pull/155143 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-tools-extra] [clang] Heuristic resolution for explicit object parameter (PR #155143)

2025-08-23 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK updated https://github.com/llvm/llvm-project/pull/155143 >From c1cdb3909c0bb55ce21d339f087c1e38616fec3f Mon Sep 17 00:00:00 2001 From: Mythreya Kuricheti Date: Sat, 23 Aug 2025 23:57:18 -0700 Subject: [PATCH] [clang] Heuristic resolution for explicit object paramete

[clang] [clang-tools-extra] [clang] Heuristic resolution for explicit object parameter (PR #155143)

2025-08-23 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK edited https://github.com/llvm/llvm-project/pull/155143 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-tools-extra] [clang] Heuristic resolution for explicit object parameter (PR #155143)

2025-08-23 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK created https://github.com/llvm/llvm-project/pull/155143 Fixes clangd/clangd#2323. Assumes `self` is of the record type in the declaration. ```cpp struct Foo { int [[memb^er]] {}; auto&& getter1(this auto&& self) { // assume `self` is is `Foo` return self

[clang] [clang-tools-extra] [clang] Include explicit object methods in overload suggestions (PR #154041)

2025-08-20 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK updated https://github.com/llvm/llvm-project/pull/154041 >From 471fa8c60c27a99ce029b1168679a6c5b0271108 Mon Sep 17 00:00:00 2001 From: Mythreya Kuricheti Date: Sat, 16 Aug 2025 15:48:02 -0700 Subject: [PATCH 1/5] [clang] Include explicit object methods in overload

[clang] [clang-tools-extra] [clang] Include explicit object methods in overload suggestions (PR #154041)

2025-08-20 Thread Mythreya Kuricheti via cfe-commits
@@ -1428,10 +1428,18 @@ void ResultBuilder::AddResult(Result R, DeclContext *CurContext, AdjustResultPriorityForDecl(R); + // Account for explicit object parameter + const auto getQualifiers = [&](const CXXMethodDecl *MethodDecl) { MythreyaK wrote: Wasn

[clang] [clang-tools-extra] [clang] Include explicit object methods in overload suggestions (PR #154041)

2025-08-20 Thread Mythreya Kuricheti via cfe-commits
@@ -3410,9 +3418,36 @@ static void AddQualifierToCompletionString(CodeCompletionBuilder &Result, Result.AddTextChunk(Result.getAllocator().CopyString(PrintedNNS)); } +// Sets the function qualifiers completion string by inspecting the explicit +// object +static void AddC

[clang] [clang-tools-extra] [clang] Include explicit object methods in overload suggestions (PR #154041)

2025-08-20 Thread Mythreya Kuricheti via cfe-commits
MythreyaK wrote: Thanks for the review! I have 2 remaining questions, 1. With this PR, these 2 show up as overloads, though not sure if they should be considered overloads. It's convenient, but wanted to double-check. ```cpp void foo2(int a); void foo2(this const S& self, float a

[clang] [clang-tools-extra] [clang] Include explicit object methods in overload suggestions (PR #154041)

2025-08-20 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK updated https://github.com/llvm/llvm-project/pull/154041 >From 471fa8c60c27a99ce029b1168679a6c5b0271108 Mon Sep 17 00:00:00 2001 From: Mythreya Kuricheti Date: Sat, 16 Aug 2025 15:48:02 -0700 Subject: [PATCH 1/4] [clang] Include explicit object methods in overload

[clang] [clang-tools-extra] Draft (PR #154505)

2025-08-20 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK created https://github.com/llvm/llvm-project/pull/154505 See PR 154041 [comment for context](https://github.com/llvm/llvm-project/pull/154041#discussion_r2287052432). >From 61d8ccee65aef9be5034aa56abbd48ad1893ad2a Mon Sep 17 00:00:00 2001 From: Mythreya Kuricheti

[clang] [clang-tools-extra] [clang] Include explicit object methods in overload suggestions (PR #154041)

2025-08-20 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK updated https://github.com/llvm/llvm-project/pull/154041 >From 1c20c7c72f6e47fd0f7f843f112752e68633c331 Mon Sep 17 00:00:00 2001 From: Mythreya Kuricheti Date: Sat, 16 Aug 2025 15:48:02 -0700 Subject: [PATCH 1/4] [clang] Include explicit object methods in overload

[clang] [clang-tools-extra] [clang] Include explicit object methods in overload suggestions (PR #154041)

2025-08-20 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK updated https://github.com/llvm/llvm-project/pull/154041 >From 1c20c7c72f6e47fd0f7f843f112752e68633c331 Mon Sep 17 00:00:00 2001 From: Mythreya Kuricheti Date: Sat, 16 Aug 2025 15:48:02 -0700 Subject: [PATCH 1/4] [clang] Include explicit object methods in overload

[clang] [clang-tools-extra] [clang] Include explicit object methods in overload suggestions (PR #154041)

2025-08-20 Thread Mythreya Kuricheti via cfe-commits
@@ -1428,10 +1428,18 @@ void ResultBuilder::AddResult(Result R, DeclContext *CurContext, AdjustResultPriorityForDecl(R); + // Account for explicit object parameter + const auto getQualifiers = [&](const CXXMethodDecl *MethodDecl) { +if (MethodDecl->isExplicitObjectMe

[clang] [clang-tools-extra] [clang] Skip suggesting unqualified members in explicit-object member functions (PR #153760)

2025-08-18 Thread Mythreya Kuricheti via cfe-commits
MythreyaK wrote: Does [this](https://github.com/llvm/llvm-project/pull/153760#discussion_r2280735143) seem okay? > Could you add a test case for the nested-scope scenario discussed in > https://github.com/llvm/llvm-project/pull/153760#discussion_r2280630270 > please? Thanks for the heads up

[clang] [clang-tools-extra] [clang] Skip suggesting unqualified members in explicit-object member functions (PR #153760)

2025-08-18 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK updated https://github.com/llvm/llvm-project/pull/153760 >From b279e4b718488a08d25fdc43edae965c0fec288c Mon Sep 17 00:00:00 2001 From: Mythreya Kuricheti Date: Fri, 15 Aug 2025 00:52:37 -0700 Subject: [PATCH 1/4] [clang] Skip unqualified members in explicit-member

[clang] [clang-tools-extra] [clang] Include explicit object methods in overload suggestions (PR #154041)

2025-08-18 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK edited https://github.com/llvm/llvm-project/pull/154041 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-tools-extra] [clang] Include explicit object methods in overload suggestions (PR #154041)

2025-08-18 Thread Mythreya Kuricheti via cfe-commits
@@ -42,7 +42,77 @@ int func3() { int func4() { // TODO (&A::foo)( - (&A::bar)( + (&A::bar)() } // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:%(line-2):13 -std=c++23 %s | FileCheck -check-prefix=CHECK-CC5 %s // CHECK-CC5: OVERLOAD: [#void#](<#A#>, int) + +stru

[clang] [clang-tools-extra] [clang] Include explicit object methods in overload suggestions (PR #154041)

2025-08-18 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK updated https://github.com/llvm/llvm-project/pull/154041 >From 8df889319e8146db958d027d5dee8ed22d6c9d3c Mon Sep 17 00:00:00 2001 From: Mythreya Kuricheti Date: Sat, 16 Aug 2025 15:48:02 -0700 Subject: [PATCH 1/3] [clang] Include explicit object methods in overload

[clang] [clang-tools-extra] [clang] Include explicit object methods in overload suggestions (PR #154041)

2025-08-18 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK updated https://github.com/llvm/llvm-project/pull/154041 >From 8df889319e8146db958d027d5dee8ed22d6c9d3c Mon Sep 17 00:00:00 2001 From: Mythreya Kuricheti Date: Sat, 16 Aug 2025 15:48:02 -0700 Subject: [PATCH 1/3] [clang] Include explicit object methods in overload

[clang] [clang-tools-extra] [clang] Include explicit object methods in overload suggestions (PR #154041)

2025-08-18 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK updated https://github.com/llvm/llvm-project/pull/154041 >From 8df889319e8146db958d027d5dee8ed22d6c9d3c Mon Sep 17 00:00:00 2001 From: Mythreya Kuricheti Date: Sat, 16 Aug 2025 15:48:02 -0700 Subject: [PATCH 1/3] [clang] Include explicit object methods in overload

[clang] [clang-tools-extra] [clang] Include explicit object methods in overload suggestions (PR #154041)

2025-08-18 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK ready_for_review https://github.com/llvm/llvm-project/pull/154041 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-tools-extra] [clang] Include explicit object methods in overload suggestions (PR #154041)

2025-08-18 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK updated https://github.com/llvm/llvm-project/pull/154041 >From 8df889319e8146db958d027d5dee8ed22d6c9d3c Mon Sep 17 00:00:00 2001 From: Mythreya Kuricheti Date: Sat, 16 Aug 2025 15:48:02 -0700 Subject: [PATCH 1/2] [clang] Include explicit object methods in overload

[clang] [clang-tools-extra] [clang] Include explicit object methods in overload suggestions (PR #154041)

2025-08-18 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK updated https://github.com/llvm/llvm-project/pull/154041 >From 8df889319e8146db958d027d5dee8ed22d6c9d3c Mon Sep 17 00:00:00 2001 From: Mythreya Kuricheti Date: Sat, 16 Aug 2025 15:48:02 -0700 Subject: [PATCH 1/2] [clang] Include explicit object methods in overload

[clang] [clang-tools-extra] [clang] Include explicit object methods in overload suggestions (PR #154041)

2025-08-18 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK updated https://github.com/llvm/llvm-project/pull/154041 >From 8df889319e8146db958d027d5dee8ed22d6c9d3c Mon Sep 17 00:00:00 2001 From: Mythreya Kuricheti Date: Sat, 16 Aug 2025 15:48:02 -0700 Subject: [PATCH 1/2] [clang] Include explicit object methods in overload

[clang] [clang-tools-extra] [clang] Include explicit object methods in overload suggestions (PR #154041)

2025-08-17 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK edited https://github.com/llvm/llvm-project/pull/154041 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-tools-extra] [clang] Include explicit object methods in overload suggestions (PR #154041)

2025-08-17 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK updated https://github.com/llvm/llvm-project/pull/154041 >From 8df889319e8146db958d027d5dee8ed22d6c9d3c Mon Sep 17 00:00:00 2001 From: Mythreya Kuricheti Date: Sat, 16 Aug 2025 15:48:02 -0700 Subject: [PATCH 1/2] [clang] Include explicit object methods in overload

[clang] [clang-tools-extra] [clang] Include explicit object methods in overload suggestions (PR #154041)

2025-08-17 Thread Mythreya Kuricheti via cfe-commits
@@ -1428,10 +1428,18 @@ void ResultBuilder::AddResult(Result R, DeclContext *CurContext, AdjustResultPriorityForDecl(R); + // Account for explicit object parameter + const auto getQualifiers = [&](const CXXMethodDecl *MethodDecl) { +if (MethodDecl->isExplicitObjectMe

[clang] [clang-tools-extra] [clang] Include explicit object methods in overload suggestions (PR #154041)

2025-08-17 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK updated https://github.com/llvm/llvm-project/pull/154041 >From 8df889319e8146db958d027d5dee8ed22d6c9d3c Mon Sep 17 00:00:00 2001 From: Mythreya Kuricheti Date: Sat, 16 Aug 2025 15:48:02 -0700 Subject: [PATCH] [clang] Include explicit object methods in overload sugg

[clang] [clang-tools-extra] [clang] Skip suggesting unqualified members in explicit-object member functions (PR #153760)

2025-08-17 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK updated https://github.com/llvm/llvm-project/pull/153760 >From b279e4b718488a08d25fdc43edae965c0fec288c Mon Sep 17 00:00:00 2001 From: Mythreya Kuricheti Date: Fri, 15 Aug 2025 00:52:37 -0700 Subject: [PATCH 1/3] [clang] Skip unqualified members in explicit-member

[clang] [clang-tools-extra] [clang] Include explicit object methods in overload suggestions (PR #154041)

2025-08-17 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK edited https://github.com/llvm/llvm-project/pull/154041 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-tools-extra] [clang] Include explicit object methods in overload suggestions (PR #154041)

2025-08-17 Thread Mythreya Kuricheti via cfe-commits
@@ -4473,6 +4473,125 @@ TEST(CompletionTest, SkipExplicitObjectParameter) { snippetSuffix(""; } } + +TEST(CompletionTest, ListExplicitObjectOverloads) { MythreyaK wrote: Test slightly modified from example that @zwuis or

[clang] [clang-tools-extra] [clang] Include explicit object methods in overload suggestions (PR #154041)

2025-08-17 Thread Mythreya Kuricheti via cfe-commits
@@ -2288,7 +2288,10 @@ class CXXMethodDecl : public FunctionDecl { const CXXRecordDecl *Decl); Qualifiers getMethodQualifiers() const { -return getType()->castAs()->getMethodQuals(); +if (isExplicitObjectMemberFunction()) + return g

[clang] [clang-tools-extra] [clang] Include explicit object methods in overload suggestions (PR #154041)

2025-08-17 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK created https://github.com/llvm/llvm-project/pull/154041 Fixes #109608. (signature help still needs fixing. Will add a commit soon) Include methods that use explicit object in code complete suggestions. ```cpp struct S { void foo1() const; void foo2(); void

[clang] [clang-tools-extra] [clang] Skip suggesting unqualified members in explicit-object member functions (PR #153760)

2025-08-16 Thread Mythreya Kuricheti via cfe-commits
@@ -197,6 +197,9 @@ class ResultBuilder { /// Whether the \p ObjectTypeQualifiers field is active. bool HasObjectTypeQualifiers; + // Whether the member function is using an explicit object parameter + bool IsExplicitObjectMemberFunction; MythreyaK wrote

[clang] [clang-tools-extra] [clang] Skip suggesting unqualified members in explicit-object member functions (PR #153760)

2025-08-16 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK updated https://github.com/llvm/llvm-project/pull/153760 >From 690f034b5854714abe6630de85fb0b7b5b947462 Mon Sep 17 00:00:00 2001 From: Mythreya Kuricheti Date: Fri, 15 Aug 2025 00:52:37 -0700 Subject: [PATCH 1/3] [clang] Skip unqualified members in explicit-member

[clang] [clang-tools-extra] [clang] Skip suggesting unqualified members in explicit-object member functions (PR #153760)

2025-08-16 Thread Mythreya Kuricheti via cfe-commits
@@ -1428,6 +1428,16 @@ void ResultBuilder::AddResult(Result R, DeclContext *CurContext, AdjustResultPriorityForDecl(R); + if (isa(R.Declaration)) { +// If result is a member in the context of an explicit-object member +// function, drop it because it must be acces

[clang] [clang-tools-extra] [clang] Skip suggesting unqualified members in explicit-object member functions (PR #153760)

2025-08-16 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK updated https://github.com/llvm/llvm-project/pull/153760 >From 690f034b5854714abe6630de85fb0b7b5b947462 Mon Sep 17 00:00:00 2001 From: Mythreya Kuricheti Date: Fri, 15 Aug 2025 00:52:37 -0700 Subject: [PATCH 1/3] [clang] Skip unqualified members in explicit-member

[clang] [clang-tools-extra] [clang] Skip suggesting unqualified members in explicit-object member functions (PR #153760)

2025-08-16 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK edited https://github.com/llvm/llvm-project/pull/153760 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-tools-extra] [clang] Skip suggesting unqualified members in explicit-object member functions (PR #153760)

2025-08-16 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK edited https://github.com/llvm/llvm-project/pull/153760 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-tools-extra] [clang] Skip suggesting unqualified members in explicit-object member functions (PR #153760)

2025-08-16 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK edited https://github.com/llvm/llvm-project/pull/153760 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-tools-extra] [clang] Skip suggesting unqualified members in explicit-object member functions (PR #153760)

2025-08-16 Thread Mythreya Kuricheti via cfe-commits
@@ -1428,6 +1428,16 @@ void ResultBuilder::AddResult(Result R, DeclContext *CurContext, AdjustResultPriorityForDecl(R); + if (isa(R.Declaration)) { +// If result is a member in the context of an explicit-object member +// function, drop it because it must be acces

[clang] [clang-tools-extra] [clang] Skip suggesting unqualified members in explicit-object member functions (PR #153760)

2025-08-16 Thread Mythreya Kuricheti via cfe-commits
@@ -1428,6 +1428,16 @@ void ResultBuilder::AddResult(Result R, DeclContext *CurContext, AdjustResultPriorityForDecl(R); + if (isa(R.Declaration)) { +// If result is a member in the context of an explicit-object member +// function, drop it because it must be acces

[clang] [clang-tools-extra] [clang] Skip suggesting unqualified members in explicit-object member functions (PR #153760)

2025-08-15 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK edited https://github.com/llvm/llvm-project/pull/153760 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-tools-extra] [clang] Skip suggesting unqualified members in explicit-object member functions (PR #153760)

2025-08-15 Thread Mythreya Kuricheti via cfe-commits
@@ -42,7 +42,23 @@ int func3() { int func4() { // TODO (&A::foo)( - (&A::bar)( + (&A::bar)() } MythreyaK wrote: Renamed this file from `skip-explicit-object-parameter.cpp` to `cpp23-explicit-object.cpp` and added the test here, instead of creating a new

[clang] [clang-tools-extra] [clang] Skip suggesting unqualified members in explicit-object member functions (PR #153760)

2025-08-15 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK edited https://github.com/llvm/llvm-project/pull/153760 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-tools-extra] [clang] Skip suggesting unqualified members in explicit-object member functions (PR #153760)

2025-08-15 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK ready_for_review https://github.com/llvm/llvm-project/pull/153760 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-tools-extra] [clang] Skip suggesting unqualified members in explicit-object member functions (PR #153760)

2025-08-15 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK edited https://github.com/llvm/llvm-project/pull/153760 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-tools-extra] [clang] Skip suggesting unqualified members in explicit-object member functions (PR #153760)

2025-08-15 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK updated https://github.com/llvm/llvm-project/pull/153760 >From d1007fc47f47c07688b0083216d2799bcb3ff406 Mon Sep 17 00:00:00 2001 From: Mythreya Kuricheti Date: Fri, 15 Aug 2025 00:52:37 -0700 Subject: [PATCH 1/2] [clang] Skip unqualified members in explicit-member

[clang] [clang-tools-extra] [clang] Skip suggesting unqualified members in explicit-object member functions (PR #153760)

2025-08-15 Thread Mythreya Kuricheti via cfe-commits
@@ -42,7 +42,23 @@ int func3() { int func4() { // TODO (&A::foo)( - (&A::bar)( + (&A::bar)() } MythreyaK wrote: Had to add this paren, otherwise compilation fails ``` clang/test/CodeCompletion/cpp23-explicit-object.cpp:46:1: error: expected expression

[clang] [clang-tools-extra] [clang] Skip suggesting unqualified members in explicit-object member functions (PR #153760)

2025-08-15 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK updated https://github.com/llvm/llvm-project/pull/153760 >From cf4b9526cfa77fb0e289f0a5f3105b242202b4b7 Mon Sep 17 00:00:00 2001 From: Mythreya Kuricheti Date: Fri, 15 Aug 2025 00:52:37 -0700 Subject: [PATCH 1/2] [clang] Skip unqualified members in explicit-member

[clang] [clang-tools-extra] [clang] Skip suggesting unqualified members in explicit-object member functions (PR #153760)

2025-08-15 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK edited https://github.com/llvm/llvm-project/pull/153760 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-tools-extra] [clang] Skip unqualified members in explicit member functions (PR #153760)

2025-08-15 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK created https://github.com/llvm/llvm-project/pull/153760 Fixes #141291 Skip suggesting members when not using `self.` in explicit object methods. [TODO: Need to add a semacodecomplete test too, will add it in a new commit] >From 690ca3d679c2df1386a212533afecab3bc

[clang-tools-extra] Update debug output string (PR #152671)

2025-08-08 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK created https://github.com/llvm/llvm-project/pull/152671 Include `Signature` and `SnippetSuffix` in the output, when test fails Before: Value of: Result.Completions Expected: has 1 element that (named (Name: "bar")) and (signature (S: "(A self, int arg)")) and (sn

[clang] [clang-tools-extra] [clang] CodeComplete fix for addr of deduced-this methods (PR #152445)

2025-08-08 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK edited https://github.com/llvm/llvm-project/pull/152445 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-tools-extra] [clang] CodeComplete fix for addr of deduced-this methods (PR #152445)

2025-08-08 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK edited https://github.com/llvm/llvm-project/pull/152445 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-tools-extra] [clang] CodeComplete fix for addr of deduced-this methods (PR #152445)

2025-08-07 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK updated https://github.com/llvm/llvm-project/pull/152445 >From 1b2cb7c27b72d1a774aa7ac0652f3765defa1140 Mon Sep 17 00:00:00 2001 From: Mythreya Kuricheti Date: Wed, 6 Aug 2025 22:49:28 -0700 Subject: [PATCH] [clang] CodeComplete fix for addr of deduced-this methods

[clang] [clang-tools-extra] [clang] CodeComplete fix for addr of deduced-this methods (PR #152445)

2025-08-07 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK updated https://github.com/llvm/llvm-project/pull/152445 >From d66aaec0a298433af6a52ad5ebe87fc578a3e7bc Mon Sep 17 00:00:00 2001 From: Mythreya Kuricheti Date: Wed, 6 Aug 2025 22:49:28 -0700 Subject: [PATCH] [clang] CodeComplete fix for addr of deduced-this methods

[clang] [clang-tools-extra] [clang] CodeComplete fix for addr of deduced-this methods (PR #152445)

2025-08-06 Thread Mythreya Kuricheti via cfe-commits
@@ -1312,6 +1312,11 @@ bool ResultBuilder::canCxxMethodBeCalled(const CXXMethodDecl *Method, (CurrentClassScope == Method->getParent() || CurrentClassScope->isDerivedFrom(Method->getParent())); + // if method is using C++23 "deducing this", then it is a call +

[clang] [clang-tools-extra] [clang] CodeComplete fix for addr of deduced-this methods (PR #152445)

2025-08-06 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK edited https://github.com/llvm/llvm-project/pull/152445 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-tools-extra] [clang] CodeComplete fix for addr of deduced-this methods (PR #152445)

2025-08-06 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK created https://github.com/llvm/llvm-project/pull/152445 Attempts to fix code complete for ```cpp struct A { void foo(this auto&& self, int arg); void bar(this A self, int arg); }; int main() { A a {}; (&A::fo$c^; } ``` This should return ``` signature

[clang] Insert headers in global module fragment (PR #151624)

2025-08-03 Thread Mythreya Kuricheti via cfe-commits
MythreyaK wrote: Thank you for checking! https://github.com/llvm/llvm-project/pull/151624 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Insert headers in global module fragment (PR #151624)

2025-08-03 Thread Mythreya Kuricheti via cfe-commits
MythreyaK wrote: @HighCommander4 @JVApen, I wasn't sure if the failures reported by the buildbot are relevant or related to this PR. Thoughts? https://github.com/llvm/llvm-project/pull/151624 ___ cfe-commits mailing list cfe-commits@lists.llvm.org ht

[clang] Insert headers in global module fragment (PR #151624)

2025-08-02 Thread Mythreya Kuricheti via cfe-commits
@@ -83,13 +83,13 @@ bool checkAndConsumeModuleDecl(const SourceManager &SM, Lexer &Lex, return Matched; } -// Returns the offset after header guard directives and any comments -// before/after header guards (e.g. #ifndef/#define pair, #pragma once). If no -// header guard i

[clang] Insert headers in global module fragment (PR #151624)

2025-08-02 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK updated https://github.com/llvm/llvm-project/pull/151624 >From f7e79ed934bcb05548b6a4d303d6ed6284648f35 Mon Sep 17 00:00:00 2001 From: Mythreya Kuricheti Date: Fri, 1 Aug 2025 01:19:18 -0700 Subject: [PATCH 1/5] [libtooling] Insert headers in global module fragment

[clang] Insert headers in global module fragment (PR #151624)

2025-08-02 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK edited https://github.com/llvm/llvm-project/pull/151624 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Insert headers in global module fragment (PR #151624)

2025-08-02 Thread Mythreya Kuricheti via cfe-commits
https://github.com/MythreyaK updated https://github.com/llvm/llvm-project/pull/151624 >From f7e79ed934bcb05548b6a4d303d6ed6284648f35 Mon Sep 17 00:00:00 2001 From: Mythreya Kuricheti Date: Fri, 1 Aug 2025 01:19:18 -0700 Subject: [PATCH 1/4] [libtooling] Insert headers in global module fragment

[clang] Insert headers in global module fragment (PR #151624)

2025-08-02 Thread Mythreya Kuricheti via cfe-commits
@@ -115,6 +134,7 @@ unsigned getOffsetAfterHeaderGuardsAndComments(StringRef FileName, return SM.getFileOffset(Tok.getLocation()); return 0; })); + return std::max(HeaderAndPPOffset, ModuleDecl); MythreyaK wrote: This does

[clang] Insert headers in global module fragment (PR #151624)

2025-08-02 Thread Mythreya Kuricheti via cfe-commits
@@ -115,6 +134,7 @@ unsigned getOffsetAfterHeaderGuardsAndComments(StringRef FileName, return SM.getFileOffset(Tok.getLocation()); return 0; })); + return std::max(HeaderAndPPOffset, ModuleDecl); MythreyaK wrote: Thanks, d

  1   2   >