[PATCH] D92009: [clangd] Sort results of incomingCalls request by container name
Nathan Ridge via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Nov 24 00:18:03 PST 2020
nridge created this revision.
nridge added a reviewer: kadircet.
Herald added subscribers: cfe-commits, usaxena95, arphaman, mgrang.
Herald added a project: clang.
nridge requested review of this revision.
Herald added subscribers: MaskRay, ilya-biryukov.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D92009
Files:
clang-tools-extra/clangd/XRefs.cpp
clang-tools-extra/clangd/unittests/CallHierarchyTests.cpp
Index: clang-tools-extra/clangd/unittests/CallHierarchyTests.cpp
===================================================================
--- clang-tools-extra/clangd/unittests/CallHierarchyTests.cpp
+++ clang-tools-extra/clangd/unittests/CallHierarchyTests.cpp
@@ -76,12 +76,12 @@
FromRanges(Source.range("Callee")))));
auto IncomingLevel2 = incomingCalls(IncomingLevel1[0].from, Index.get());
- EXPECT_THAT(IncomingLevel2, UnorderedElementsAre(
- AllOf(From(WithName("caller2")),
- FromRanges(Source.range("Caller1A"),
- Source.range("Caller1B"))),
- AllOf(From(WithName("caller3")),
- FromRanges(Source.range("Caller1C")))));
+ EXPECT_THAT(IncomingLevel2,
+ ElementsAre(AllOf(From(WithName("caller2")),
+ FromRanges(Source.range("Caller1A"),
+ Source.range("Caller1B"))),
+ AllOf(From(WithName("caller3")),
+ FromRanges(Source.range("Caller1C")))));
auto IncomingLevel3 = incomingCalls(IncomingLevel2[0].from, Index.get());
EXPECT_THAT(IncomingLevel3,
@@ -121,8 +121,8 @@
auto IncomingLevel2 = incomingCalls(IncomingLevel1[0].from, Index.get());
EXPECT_THAT(IncomingLevel2,
- UnorderedElementsAre(AllOf(From(WithName("caller2")),
- FromRanges(Source.range("Caller1")))));
+ ElementsAre(AllOf(From(WithName("caller2")),
+ FromRanges(Source.range("Caller1")))));
}
TEST(CallHierarchy, IncomingQualified) {
@@ -149,10 +149,10 @@
EXPECT_THAT(Items, ElementsAre(WithName("Waldo::find")));
auto Incoming = incomingCalls(Items[0], Index.get());
EXPECT_THAT(Incoming,
- UnorderedElementsAre(AllOf(From(WithName("caller1")),
- FromRanges(Source.range("Caller1"))),
- AllOf(From(WithName("caller2")),
- FromRanges(Source.range("Caller2")))));
+ ElementsAre(AllOf(From(WithName("caller1")),
+ FromRanges(Source.range("Caller1"))),
+ AllOf(From(WithName("caller2")),
+ FromRanges(Source.range("Caller2")))));
}
TEST(CallHierarchy, IncomingMultiFile) {
@@ -219,9 +219,9 @@
FromRanges(Caller1C.range()))));
auto IncomingLevel2 = incomingCalls(IncomingLevel1[0].from, Index.get());
- EXPECT_THAT(IncomingLevel2,
- UnorderedElementsAre(
- AllOf(From(WithName("caller2")),
+ EXPECT_THAT(
+ IncomingLevel2,
+ ElementsAre(AllOf(From(WithName("caller2")),
FromRanges(Caller2C.range("A"), Caller2C.range("B"))),
AllOf(From(WithName("caller3")),
FromRanges(Caller3C.range("Caller1")))));
Index: clang-tools-extra/clangd/XRefs.cpp
===================================================================
--- clang-tools-extra/clangd/XRefs.cpp
+++ clang-tools-extra/clangd/XRefs.cpp
@@ -1716,6 +1716,11 @@
Results.push_back(
CallHierarchyIncomingCall{std::move(*CHI), std::move(It->second)});
});
+ // Sort results by name of container.
+ llvm::sort(Results, [](const CallHierarchyIncomingCall &A,
+ const CallHierarchyIncomingCall &B) {
+ return A.from.name < B.from.name;
+ });
return Results;
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D92009.307259.patch
Type: text/x-patch
Size: 3728 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20201124/8691cc12/attachment.bin>
More information about the cfe-commits
mailing list