Skip to content

Commit a28b92e

Browse files
authored
Merge pull request #62308 from rintaro/sourcekitd-rdar102765542
[SourceKit] Don't link 'sourcekitd' to service related code
2 parents 0b29450 + 0a791e8 commit a28b92e

20 files changed

+84
-43
lines changed

tools/SourceKit/tools/sourcekitd/bin/InProc/CMakeLists.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,9 @@ else()
5151
endif()
5252
target_link_libraries(sourcekitdInProc PRIVATE
5353
SourceKitSwiftLang
54-
sourcekitdAPI)
54+
sourcekitdAPI
55+
sourcekitdService
56+
swiftIDETool)
5557

5658
# While it is possible to build this as a static library,
5759
# to get the runtime paths correct, it must be linked into a binary

tools/SourceKit/tools/sourcekitd/bin/InProc/sourcekitdInProc.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
//===----------------------------------------------------------------------===//
1212

1313
#include "sourcekitd/Internal.h"
14+
#include "sourcekitd/Service.h"
1415

1516
#include "SourceKit/Support/Concurrency.h"
1617
#include "SourceKit/Support/Logging.h"

tools/SourceKit/tools/sourcekitd/bin/XPC/Service/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ if (BUILD_SOURCEKIT_XPC_SERVICE)
1010
else()
1111
target_link_libraries(SourceKitService PRIVATE
1212
SourceKitSwiftLang
13-
sourcekitdAPI)
13+
sourcekitdAPI
14+
sourcekitdService)
1415
endif()
1516
endif()
1617

tools/SourceKit/tools/sourcekitd/bin/XPC/Service/XPCService.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212

1313
#include "sourcekitd/Internal-XPC.h"
1414
#include "sourcekitd/Logging.h"
15+
#include "sourcekitd/Service.h"
1516

1617
#include "SourceKit/Core/LLVM.h"
1718
#include "SourceKit/Support/Concurrency.h"

tools/SourceKit/tools/sourcekitd/include/sourcekitd/Internal.h

Lines changed: 1 addition & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
//
33
// This source file is part of the Swift.org open source project
44
//
5-
// Copyright (c) 2014 - 2017 Apple Inc. and the Swift project authors
5+
// Copyright (c) 2014 - 2022 Apple Inc. and the Swift project authors
66
// Licensed under Apache License v2.0 with Runtime Library Exception
77
//
88
// See https://swift.org/LICENSE.txt for license information
@@ -153,19 +153,6 @@ class RequestDict {
153153
Optional<int64_t> getOptionalInt64(SourceKit::UIdent Key);
154154
};
155155

156-
/// Initialize the service. Must be called before attempting to handle requests.
157-
/// \param swiftExecutablePath The path of the swift-frontend executable.
158-
/// Used to find clang relative to it.
159-
/// \param runtimeLibPath The path to the toolchain's library directory.
160-
/// \param diagnosticDocumentationPath The path to diagnostics documentation.
161-
/// \param postNotification Callback to post a notification.
162-
void initializeService(
163-
llvm::StringRef swiftExecutablePath, llvm::StringRef runtimeLibPath,
164-
llvm::StringRef diagnosticDocumentationPath,
165-
std::function<void(sourcekitd_response_t)> postNotification);
166-
/// Shutdown the service.
167-
void shutdownService();
168-
169156
/// Initialize the sourcekitd client library. Returns true if this is the first
170157
/// time it is initialized.
171158
bool initializeClient();
@@ -175,16 +162,6 @@ bool shutdownClient();
175162

176163
void set_interrupted_connection_handler(llvm::function_ref<void()> handler);
177164

178-
typedef std::function<void(sourcekitd_response_t)> ResponseReceiver;
179-
180-
void handleRequest(sourcekitd_object_t Request,
181-
SourceKitCancellationToken CancellationToken,
182-
ResponseReceiver Receiver);
183-
184-
void cancelRequest(SourceKitCancellationToken CancellationToken);
185-
186-
void disposeCancellationToken(SourceKitCancellationToken CancellationToken);
187-
188165
void printRequestObject(sourcekitd_object_t Obj, llvm::raw_ostream &OS);
189166
void printResponse(sourcekitd_response_t Resp, llvm::raw_ostream &OS);
190167

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
//===--- Service.h - --------------------------------------------*- C++ -*-===//
2+
//
3+
// This source file is part of the Swift.org open source project
4+
//
5+
// Copyright (c) 2014 - 2022 Apple Inc. and the Swift project authors
6+
// Licensed under Apache License v2.0 with Runtime Library Exception
7+
//
8+
// See https://swift.org/LICENSE.txt for license information
9+
// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
10+
//
11+
//===----------------------------------------------------------------------===//
12+
13+
#ifndef LLVM_SOURCEKITD_SERVICE_H
14+
#define LLVM_SOURCEKITD_SERVICE_H
15+
16+
#include "SourceKit/Support/CancellationToken.h"
17+
#include "sourcekitd/sourcekitd.h"
18+
#include "llvm/ADT/StringRef.h"
19+
20+
#include <functional>
21+
22+
namespace sourcekitd {
23+
using SourceKit::SourceKitCancellationToken;
24+
25+
/// Initialize the service. Must be called before attempting to handle requests.
26+
/// \param swiftExecutablePath The path of the swift-frontend executable.
27+
/// Used to find clang relative to it.
28+
/// \param runtimeLibPath The path to the toolchain's library directory.
29+
/// \param diagnosticDocumentationPath The path to diagnostics documentation.
30+
/// \param postNotification Callback to post a notification.
31+
void initializeService(
32+
llvm::StringRef swiftExecutablePath, llvm::StringRef runtimeLibPath,
33+
llvm::StringRef diagnosticDocumentationPath,
34+
std::function<void(sourcekitd_response_t)> postNotification);
35+
/// Shutdown the service.
36+
void shutdownService();
37+
38+
typedef std::function<void(sourcekitd_response_t)> ResponseReceiver;
39+
40+
void handleRequest(sourcekitd_object_t Request,
41+
SourceKitCancellationToken CancellationToken,
42+
ResponseReceiver Receiver);
43+
44+
void cancelRequest(SourceKitCancellationToken CancellationToken);
45+
46+
void disposeCancellationToken(SourceKitCancellationToken CancellationToken);
47+
48+
} // namespace sourcekitd
49+
50+
#endif // LLVM_SOURCEKITD_SERVICE_H

tools/SourceKit/tools/sourcekitd/lib/API/CMakeLists.txt

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,15 @@ add_sourcekit_library(sourcekitdAPI
88
DocStructureArray.cpp
99
DocSupportAnnotationArray.cpp
1010
RawData.cpp
11-
Requests.cpp
1211
sourcekitdAPI-Common.cpp
1312
TokenAnnotationsArray.cpp
1413
ExpressionTypeArray.cpp
1514
VariableTypeArray.cpp
16-
UIDHandling.cpp
17-
)
15+
UIDHandling.cpp)
16+
1817
target_link_libraries(sourcekitdAPI PRIVATE
1918
swiftBasic
20-
SourceKitSupport
21-
SourceKitSwiftLang
22-
swiftCompilerModules)
19+
SourceKitSupport)
2320

2421
if(APPLE AND HAVE_XPC_H)
2522
target_sources(sourcekitdAPI PRIVATE

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@
1212

1313
#include "sourcekitd/CodeCompletionResultsArray.h"
1414
#include "sourcekitd/CompactArray.h"
15+
#include "sourcekitd/DictionaryKeys.h"
1516
#include "SourceKit/Core/LLVM.h"
1617
#include "SourceKit/Support/UIdent.h"
17-
#include "DictionaryKeys.h"
1818

1919
#include "llvm/Support/MemoryBuffer.h"
2020

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@
1111
//===----------------------------------------------------------------------===//
1212

1313
#include "sourcekitd/DocStructureArray.h"
14-
#include "DictionaryKeys.h"
14+
#include "sourcekitd/CompactArray.h"
15+
#include "sourcekitd/DictionaryKeys.h"
1516
#include "SourceKit/Core/LLVM.h"
1617
#include "SourceKit/Support/UIdent.h"
17-
#include "sourcekitd/CompactArray.h"
1818
#include "llvm/ADT/ArrayRef.h"
1919
#include "llvm/Support/MemoryBuffer.h"
2020
#include "llvm/Support/raw_ostream.h"

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@
1111
//===----------------------------------------------------------------------===//
1212

1313
#include "sourcekitd/DocSupportAnnotationArray.h"
14+
#include "sourcekitd/DictionaryKeys.h"
1415
#include "sourcekitd/CompactArray.h"
1516
#include "SourceKit/Core/LangSupport.h"
1617
#include "llvm/Support/MemoryBuffer.h"
1718

18-
#include "DictionaryKeys.h"
1919

2020
using namespace SourceKit;
2121
using namespace sourcekitd;

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@
1212

1313
#include "sourcekitd/ExpressionTypeArray.h"
1414
#include "sourcekitd/CompactArray.h"
15+
#include "sourcekitd/DictionaryKeys.h"
1516
#include "SourceKit/Core/LLVM.h"
1617
#include "SourceKit/Core/LangSupport.h"
1718
#include "SourceKit/Support/UIdent.h"
18-
#include "DictionaryKeys.h"
1919

2020
#include "llvm/Support/MemoryBuffer.h"
2121

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@
1212

1313
#include "sourcekitd/TokenAnnotationsArray.h"
1414
#include "sourcekitd/CompactArray.h"
15+
#include "sourcekitd/DictionaryKeys.h"
1516
#include "SourceKit/Core/LLVM.h"
1617
#include "SourceKit/Support/UIdent.h"
17-
#include "DictionaryKeys.h"
1818

1919
#include "llvm/Support/MemoryBuffer.h"
2020

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@
1212

1313
#include "sourcekitd/VariableTypeArray.h"
1414
#include "sourcekitd/CompactArray.h"
15+
#include "sourcekitd/DictionaryKeys.h"
1516
#include "SourceKit/Core/LLVM.h"
1617
#include "SourceKit/Core/LangSupport.h"
1718
#include "SourceKit/Support/UIdent.h"
18-
#include "DictionaryKeys.h"
1919

2020
#include "llvm/Support/MemoryBuffer.h"
2121

tools/SourceKit/tools/sourcekitd/lib/API/sourcekitdAPI-Common.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
//
1111
//===----------------------------------------------------------------------===//
1212

13-
#include "DictionaryKeys.h"
13+
#include "sourcekitd/DictionaryKeys.h"
1414
#include "sourcekitd/Internal.h"
1515
#include "sourcekitd/Logging.h"
1616
#include "sourcekitd/RequestResponsePrinterBase.h"

tools/SourceKit/tools/sourcekitd/lib/API/sourcekitdAPI-InProc.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
//
1111
//===----------------------------------------------------------------------===//
1212

13-
#include "DictionaryKeys.h"
13+
#include "sourcekitd/DictionaryKeys.h"
1414
#include "sourcekitd/Internal.h"
1515
#include "sourcekitd/CodeCompletionResultsArray.h"
1616
#include "sourcekitd/DocStructureArray.h"

tools/SourceKit/tools/sourcekitd/lib/API/sourcekitdAPI-XPC.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
//
1111
//===----------------------------------------------------------------------===//
1212

13-
#include "DictionaryKeys.h"
1413
#include "sourcekitd/CodeCompletionResultsArray.h"
14+
#include "sourcekitd/DictionaryKeys.h"
1515
#include "sourcekitd/DocStructureArray.h"
1616
#include "sourcekitd/DocSupportAnnotationArray.h"
1717
#include "sourcekitd/TokenAnnotationsArray.h"
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
add_subdirectory(API)
2+
add_subdirectory(Service)
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
2+
add_sourcekit_library(sourcekitdService
3+
Requests.cpp
4+
)
5+
target_link_libraries(sourcekitdService PRIVATE
6+
sourcekitdAPI
7+
swiftBasic
8+
SourceKitSupport
9+
SourceKitSwiftLang
10+
swiftCompilerModules)

tools/SourceKit/tools/sourcekitd/lib/API/Requests.cpp renamed to tools/SourceKit/tools/sourcekitd/lib/Service/Requests.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,9 @@
1010
//
1111
//===----------------------------------------------------------------------===//
1212

13-
#include "DictionaryKeys.h"
13+
#include "sourcekitd/Service.h"
1414
#include "sourcekitd/CodeCompletionResultsArray.h"
15+
#include "sourcekitd/DictionaryKeys.h"
1516
#include "sourcekitd/DocStructureArray.h"
1617
#include "sourcekitd/DocSupportAnnotationArray.h"
1718
#include "sourcekitd/TokenAnnotationsArray.h"

0 commit comments

Comments
 (0)