Skip to content

Commit fbd0cd1

Browse files
authored
Merge pull request #856 from ahoppen/ahoppen/remove-dead-code
2 parents c98c16e + 32acbf5 commit fbd0cd1

14 files changed

+82
-413
lines changed

Sources/LSPTestSupport/TestJSONRPCConnection.swift

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,6 @@ public final class TestClient: MessageHandler {
8888
self.server = server
8989
}
9090

91-
public var replyQueue: DispatchQueue = DispatchQueue(label: "testclient-reply-queue")
9291
var oneShotNotificationHandlers: [((Any) -> Void)] = []
9392
var oneShotRequestHandlers: [((Any) -> Void)] = []
9493

@@ -157,13 +156,8 @@ extension TestClient: Connection {
157156
}
158157

159158
/// Send a request to the language server and (asynchronously) receive a reply.
160-
public func send<Request>(_ request: Request, queue: DispatchQueue, reply: @escaping (LSPResult<Request.Response>) -> Void) -> RequestID where Request: RequestType {
161-
return server.send(request, queue: queue, reply: reply)
162-
}
163-
164-
/// Convenience method to get reply on replyQueue.
165159
public func send<Request>(_ request: Request, reply: @escaping (LSPResult<Request.Response>) -> Void) -> RequestID where Request: RequestType {
166-
return send(request, queue: replyQueue, reply: reply)
160+
return server.send(request, reply: reply)
167161
}
168162

169163

Sources/LanguageServerProtocol/Connection.swift

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public protocol Connection: AnyObject {
1919
func send<Notification>(_: Notification) where Notification: NotificationType
2020

2121
/// Send a request and (asynchronously) receive a reply.
22-
func send<Request>(_: Request, queue: DispatchQueue, reply: @escaping (LSPResult<Request.Response>) -> Void) -> RequestID where Request: RequestType
22+
func send<Request>(_: Request, reply: @escaping (LSPResult<Request.Response>) -> Void) -> RequestID where Request: RequestType
2323

2424
/// Send a request synchronously. **Use wisely**.
2525
func sendSync<Request>(_: Request) throws -> Request.Response where Request: RequestType
@@ -29,7 +29,7 @@ extension Connection {
2929
public func sendSync<Request>(_ request: Request) throws -> Request.Response where Request: RequestType {
3030
var result: LSPResult<Request.Response>? = nil
3131
let semaphore = DispatchSemaphore(value: 0)
32-
_ = send(request, queue: DispatchQueue.global()) { _result in
32+
_ = send(request) { _result in
3333
result = _result
3434
semaphore.signal()
3535
}
@@ -119,23 +119,18 @@ extension LocalConnection: Connection {
119119

120120
public func send<Request: RequestType>(
121121
_ request: Request,
122-
queue: DispatchQueue,
123122
reply: @escaping (LSPResult<Request.Response>) -> Void
124123
) -> RequestID {
125124
let id = nextRequestID()
126125

127126
guard let handler = self.handler else {
128-
queue.async {
129-
reply(.failure(.serverCancelled))
130-
}
127+
reply(.failure(.serverCancelled))
131128
return id
132129
}
133130

134131
precondition(self.state == .started)
135132
handler.handle(request, id: id, from: ObjectIdentifier(self)) { result in
136-
queue.async {
137-
reply(result)
138-
}
133+
reply(result)
139134
}
140135

141136
return id

Sources/LanguageServerProtocolJSONRPC/JSONRPCConnection.swift

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -408,7 +408,7 @@ extension JSONRPCConnection: Connection {
408408
}
409409
}
410410

411-
public func send<Request>(_ request: Request, queue: DispatchQueue, reply: @escaping (LSPResult<Request.Response>) -> Void) -> RequestID where Request: RequestType {
411+
public func send<Request>(_ request: Request, reply: @escaping (LSPResult<Request.Response>) -> Void) -> RequestID where Request: RequestType {
412412

413413
let id: RequestID = self.queue.sync {
414414
let id = nextRequestID()
@@ -423,10 +423,9 @@ extension JSONRPCConnection: Connection {
423423
responseType: Request.Response.self,
424424
queue: queue,
425425
replyHandler: { anyResult in
426-
queue.async {
427-
reply(anyResult.map { $0 as! Request.Response })
428-
}
429-
})
426+
reply(anyResult.map { $0 as! Request.Response })
427+
}
428+
)
430429
return id
431430
}
432431

Sources/SKCore/BuildServerBuildSystem.swift

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,7 @@ public actor BuildServerBuildSystem: MessageHandler {
4747
let projectRoot: AbsolutePath
4848
let buildFolder: AbsolutePath?
4949
let serverConfig: BuildServerConfig
50-
let requestQueue: DispatchQueue
51-
50+
5251
var buildServer: JSONRPCConnection?
5352

5453
/// The queue on which all messages that originate from the build server are
@@ -95,7 +94,6 @@ public actor BuildServerBuildSystem: MessageHandler {
9594
#endif
9695
self.buildFolder = buildFolder
9796
self.projectRoot = projectRoot
98-
self.requestQueue = DispatchQueue(label: "build_server_request_queue")
9997
self.serverConfig = config
10098
try self.initializeBuildServer()
10199
}
@@ -119,13 +117,13 @@ public actor BuildServerBuildSystem: MessageHandler {
119117

120118
deinit {
121119
if let buildServer = self.buildServer {
122-
_ = buildServer.send(ShutdownBuild(), queue: DispatchQueue.global(), reply: { result in
120+
_ = buildServer.send(ShutdownBuild()) { result in
123121
if let error = result.failure {
124122
log("error shutting down build server: \(error)")
125123
}
126124
buildServer.send(ExitBuildNotification())
127125
buildServer.close()
128-
})
126+
}
129127
}
130128
}
131129

@@ -239,7 +237,7 @@ extension BuildServerBuildSystem: BuildSystem {
239237

240238
public func registerForChangeNotifications(for uri: DocumentURI, language: Language) {
241239
let request = RegisterForChanges(uri: uri, action: .register)
242-
_ = self.buildServer?.send(request, queue: requestQueue, reply: { result in
240+
_ = self.buildServer?.send(request) { result in
243241
Task {
244242
if let error = result.failure {
245243
log("error registering \(uri): \(error)", level: .error)
@@ -249,18 +247,18 @@ extension BuildServerBuildSystem: BuildSystem {
249247
await self.buildSettingsChanged(for: uri, settings: nil)
250248
}
251249
}
252-
})
250+
}
253251
}
254252

255253
/// Unregister the given file for build-system level change notifications, such as command
256254
/// line flag changes, dependency changes, etc.
257255
public func unregisterForChangeNotifications(for uri: DocumentURI) {
258256
let request = RegisterForChanges(uri: uri, action: .unregister)
259-
_ = self.buildServer?.send(request, queue: requestQueue, reply: { result in
257+
_ = self.buildServer?.send(request) { result in
260258
if let error = result.failure {
261259
log("error unregistering \(uri): \(error)", level: .error)
262260
}
263-
})
261+
}
264262
}
265263

266264
public func filesDidChange(_ events: [FileEvent]) {}

Sources/SKCore/BuildSystemManager.swift

Lines changed: 0 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -17,63 +17,6 @@ import Dispatch
1717

1818
import struct TSCBasic.AbsolutePath
1919

20-
/// Status for a given main file.
21-
enum MainFileStatus: Equatable {
22-
/// Waiting for the `BuildSystem` to return settings.
23-
case waiting
24-
25-
/// No response from `BuildSystem` yet, using arguments from the fallback build system.
26-
case waitingUsingFallback(FileBuildSettings)
27-
28-
/// Two cases here:
29-
/// - Primary build system gave us fallback arguments to use.
30-
/// - Primary build system didn't handle the file, using arguments from the fallback build system.
31-
/// No longer waiting.
32-
case fallback(FileBuildSettings)
33-
34-
/// Using settings from the primary `BuildSystem`.
35-
case primary(FileBuildSettings)
36-
37-
/// No settings provided by primary and fallback `BuildSystem`s.
38-
case unsupported
39-
}
40-
41-
extension MainFileStatus {
42-
/// Whether fallback build settings are being used.
43-
/// If no build settings are available, returns false.
44-
var usingFallbackSettings: Bool {
45-
switch self {
46-
case .waiting: return false
47-
case .unsupported: return false
48-
case .waitingUsingFallback(_): return true
49-
case .fallback(_): return true
50-
case .primary(_): return false
51-
}
52-
}
53-
54-
/// The active build settings, if any.
55-
var buildSettings: FileBuildSettings? {
56-
switch self {
57-
case .waiting: return nil
58-
case .unsupported: return nil
59-
case .waitingUsingFallback(let settings): return settings
60-
case .fallback(let settings): return settings
61-
case .primary(let settings): return settings
62-
}
63-
}
64-
65-
/// Corresponding change from this status, if any.
66-
var buildSettingsChange: FileBuildSettingsChange? {
67-
switch self {
68-
case .waiting: return nil
69-
case .unsupported: return .removedOrUnavailable
70-
case .waitingUsingFallback(let settings): return .fallback(settings)
71-
case .fallback(let settings): return .fallback(settings)
72-
case .primary(let settings): return .modified(settings)
73-
}
74-
}
75-
}
76-
7720
/// `BuildSystem` that integrates client-side information such as main-file lookup as well as providing
7821
/// common functionality such as caching.
7922
///
@@ -205,24 +148,6 @@ extension BuildSystemManager {
205148
await buildSystem?.registerForChangeNotifications(for: mainFile, language: language)
206149
}
207150

208-
/// Return settings for `file` based on the `change` settings for `mainFile`.
209-
///
210-
/// This is used when inferring arguments for header files (e.g. main file is a `.m` while file is a` .h`).
211-
nonisolated func convert(
212-
change: FileBuildSettingsChange,
213-
ofMainFile mainFile: DocumentURI,
214-
to file: DocumentURI
215-
) -> FileBuildSettingsChange {
216-
guard mainFile != file else { return change }
217-
switch change {
218-
case .removedOrUnavailable: return .removedOrUnavailable
219-
case .fallback(let settings):
220-
return .fallback(settings.patching(newFile: file.pseudoPath, originalFile: mainFile.pseudoPath))
221-
case .modified(let settings):
222-
return .modified(settings.patching(newFile: file.pseudoPath, originalFile: mainFile.pseudoPath))
223-
}
224-
}
225-
226151
public func unregisterForChangeNotifications(for uri: DocumentURI) async {
227152
guard let mainFile = self.watchedFiles[uri]?.mainFile else {
228153
log("Unbalanced calls for registerForChangeNotifications and unregisterForChangeNotifications", level: .warning)

Sources/SKCore/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ add_library(SKCore STATIC
99
CompilationDatabaseBuildSystem.swift
1010
FallbackBuildSystem.swift
1111
FileBuildSettings.swift
12-
FileBuildSettingsChange.swift
1312
MainFilesProvider.swift
1413
PathPrefixMapping.swift
1514
Toolchain.swift

Sources/SKCore/FileBuildSettingsChange.swift

Lines changed: 0 additions & 57 deletions
This file was deleted.

Sources/SourceKitD/SourceKitD.swift

Lines changed: 0 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -81,39 +81,6 @@ extension SourceKitD {
8181
return dict
8282
}
8383

84-
/// Send the given request and asynchronously receive a reply dictionary (or error) on the given queue.
85-
// FIXME: (async) Remove this in favor of the async version
86-
public func send(
87-
_ req: SKDRequestDictionary,
88-
_ queue: DispatchQueue,
89-
reply: @escaping (Result<SKDResponseDictionary, SKDError>) -> Void
90-
) -> sourcekitd_request_handle_t? {
91-
logRequest(req)
92-
93-
var handle: sourcekitd_request_handle_t? = nil
94-
95-
api.send_request(req.dict, &handle) { [weak self] _resp in
96-
guard let self = self else { return }
97-
98-
let resp = SKDResponse(_resp, sourcekitd: self)
99-
100-
logResponse(resp)
101-
102-
guard let dict = resp.value else {
103-
queue.async {
104-
reply(.failure(resp.error!))
105-
}
106-
return
107-
}
108-
109-
queue.async {
110-
reply(.success(dict))
111-
}
112-
}
113-
114-
return handle
115-
}
116-
11784
public func send(_ req: SKDRequestDictionary) async throws -> SKDResponseDictionary {
11885
logRequest(req)
11986

Sources/SourceKitLSP/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ add_library(SourceKitLSP STATIC
44
DocumentManager.swift
55
IndexStoreDB+MainFilesProvider.swift
66
RangeAdjuster.swift
7+
ResponseError+Init.swift
78
Sequence+AsyncMap.swift
89
SourceKitIndexDelegate.swift
910
SourceKitLSPCommandMetadata.swift
@@ -20,7 +21,6 @@ target_sources(SourceKitLSP PRIVATE
2021
Swift/CursorInfo.swift
2122
Swift/Diagnostic.swift
2223
Swift/EditorPlaceholder.swift
23-
Swift/ExpressionTypeInfo.swift
2424
Swift/OpenInterface.swift
2525
Swift/SemanticRefactorCommand.swift
2626
Swift/SemanticRefactoring.swift

0 commit comments

Comments
 (0)