Skip to content

Commit b75dd68

Browse files
committed
[SourceKit] Pass reused node IDs by reference
1 parent 729e0e2 commit b75dd68

File tree

5 files changed

+9
-8
lines changed

5 files changed

+9
-8
lines changed

tools/SourceKit/include/SourceKit/Core/LangSupport.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ class EditorConsumer {
265265

266266
virtual void
267267
handleSyntaxTree(const swift::syntax::SourceFileSyntax &SyntaxTree,
268-
std::unordered_set<unsigned> ReusedNodeIds) = 0;
268+
std::unordered_set<unsigned> &ReusedNodeIds) = 0;
269269
virtual bool syntaxTreeEnabled() {
270270
return syntaxTreeTransferMode() != SyntaxTreeTransferMode::Off;
271271
}

tools/SourceKit/lib/SwiftLang/SwiftEditor.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2104,8 +2104,9 @@ void SwiftLangSupport::editorOpen(StringRef Name, llvm::MemoryBuffer *Buf,
21042104

21052105
if (Consumer.syntaxTreeEnabled()) {
21062106
assert(EditorDoc->getSyntaxTree().hasValue());
2107-
Consumer.handleSyntaxTree(EditorDoc->getSyntaxTree().getValue(),
2108-
/*ReusedNodeIds=*/{});
2107+
std::unordered_set<unsigned> ReusedNodeIds;
2108+
Consumer.handleSyntaxTree(EditorDoc->getSyntaxTree().getValue(),
2109+
ReusedNodeIds);
21092110
}
21102111
}
21112112

tools/SourceKit/tools/sourcekitd/lib/API/Requests.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2089,7 +2089,7 @@ class SKEditorConsumer : public EditorConsumer {
20892089
void handleSourceText(StringRef Text) override;
20902090

20912091
void handleSyntaxTree(const swift::syntax::SourceFileSyntax &SyntaxTree,
2092-
std::unordered_set<unsigned> ReusedNodeIds) override;
2092+
std::unordered_set<unsigned> &ReusedNodeIds) override;
20932093

20942094
bool syntaxReuseInfoEnabled() override { return Opts.EnableSyntaxReuseInfo; }
20952095
void
@@ -2422,7 +2422,7 @@ void SKEditorConsumer::handleSourceText(StringRef Text) {
24222422

24232423
void serializeSyntaxTreeAsJson(
24242424
const swift::syntax::SourceFileSyntax &SyntaxTree,
2425-
std::unordered_set<unsigned> ReusedNodeIds,
2425+
std::unordered_set<unsigned> &ReusedNodeIds,
24262426
ResponseBuilder::Dictionary &Dict) {
24272427
auto StartClock = clock();
24282428
// 4096 is a heuristic buffer size that appears to usually be able to fit an
@@ -2453,7 +2453,7 @@ void serializeSyntaxTreeAsJson(
24532453

24542454
void SKEditorConsumer::handleSyntaxTree(
24552455
const swift::syntax::SourceFileSyntax &SyntaxTree,
2456-
std::unordered_set<unsigned> ReusedNodeIds) {
2456+
std::unordered_set<unsigned> &ReusedNodeIds) {
24572457
if (Opts.SyntaxTransferMode == SyntaxTreeTransferMode::Off)
24582458
return;
24592459

unittests/SourceKit/SwiftLang/CursorInfoTest.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ class NullEditorConsumer : public EditorConsumer {
7979

8080
void handleSourceText(StringRef Text) override {}
8181
void handleSyntaxTree(const swift::syntax::SourceFileSyntax &SyntaxTree,
82-
std::unordered_set<unsigned> ReusedNodeIds) override {}
82+
std::unordered_set<unsigned> &ReusedNodeIds) override {}
8383

8484
SyntaxTreeTransferMode syntaxTreeTransferMode() override {
8585
return SyntaxTreeTransferMode::Off;

unittests/SourceKit/SwiftLang/EditingTest.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ class DiagConsumer : public EditorConsumer {
8787

8888
void handleSourceText(StringRef Text) override {}
8989
void handleSyntaxTree(const swift::syntax::SourceFileSyntax &SyntaxTree,
90-
std::unordered_set<unsigned> ReusedNodeIds) override {}
90+
std::unordered_set<unsigned> &ReusedNodeIds) override {}
9191

9292
SyntaxTreeTransferMode syntaxTreeTransferMode() override {
9393
return SyntaxTreeTransferMode::Off;

0 commit comments

Comments
 (0)