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
@@ -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
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`
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`
@@ -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
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
@@ -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"
@@ -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"
@@ -238,6 +239,7 @@ std::unique_ptr buildASTFromCodeWithArgs(
ArgumentsAdjuster Adjuster = getClangStripDependencyFileAdjuster(),
const FileContentMappings &VirtualMappedFiles = FileContentMappings(),
DiagnosticConsumer *DiagConsumer = nullptr,
+CaptureDiagsKind
@@ -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
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
@@ -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
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
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
@@ -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
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
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
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
--
@@ -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
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
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
@@ -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
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
@@ -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
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
@@ -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
@@ -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
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
@@ -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
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
@@ -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
@@ -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
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
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
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
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
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
@@ -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
@@ -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
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
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
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
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
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
@@ -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
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
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
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
@@ -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
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
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
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
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
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
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
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
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
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
@@ -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
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
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
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
@@ -4473,6 +4473,125 @@ TEST(CompletionTest, SkipExplicitObjectParameter) {
snippetSuffix("";
}
}
+
+TEST(CompletionTest, ListExplicitObjectOverloads) {
MythreyaK wrote:
Test slightly modified from example that @zwuis or
@@ -2288,7 +2288,10 @@ class CXXMethodDecl : public FunctionDecl {
const CXXRecordDecl *Decl);
Qualifiers getMethodQualifiers() const {
-return getType()->castAs()->getMethodQuals();
+if (isExplicitObjectMemberFunction())
+ return g
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
@@ -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
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
@@ -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
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
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
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
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
@@ -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
@@ -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
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
@@ -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
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
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
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
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
@@ -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
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
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
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
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
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
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
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
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
@@ -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
+
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
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
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
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
@@ -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
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
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
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
@@ -115,6 +134,7 @@ unsigned getOffsetAfterHeaderGuardsAndComments(StringRef
FileName,
return SM.getFileOffset(Tok.getLocation());
return 0;
}));
+ return std::max(HeaderAndPPOffset, ModuleDecl);
MythreyaK wrote:
This does
@@ -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 - 100 of 135 matches
Mail list logo