Skip to content

Commit f5db485

Browse files
authored
Replace 'ParsableMessage' factory methods with an initializer. (#32)
This PR uses an initializer `init(name:kind:)` to unify multiple factory methods.
1 parent ce12e5c commit f5db485

File tree

3 files changed

+12
-28
lines changed

3 files changed

+12
-28
lines changed

Sources/SwiftDriver/Driver/ToolExecutionDelegate.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ public struct ToolExecutionDelegate: JobExecutorDelegate {
5454
commandArguments: arguments[1...].map{ String($0) }
5555
)
5656

57-
let message = ParsableMessage.beganMessage(name: job.kind.rawValue, msg: beganMessage)
57+
let message = ParsableMessage(name: job.kind.rawValue, kind: .began(beganMessage))
5858
emit(message)
5959
}
6060
}
@@ -75,12 +75,12 @@ public struct ToolExecutionDelegate: JobExecutorDelegate {
7575
switch result.exitStatus {
7676
case .terminated(let code):
7777
let finishedMessage = FinishedMessage(exitStatus: Int(code), pid: pid, output: output)
78-
message = ParsableMessage.finishedMessage(name: job.kind.rawValue, msg: finishedMessage)
78+
message = ParsableMessage(name: job.kind.rawValue, kind: .finished(finishedMessage))
7979

8080
case .signalled(let signal):
8181
let errorMessage = strsignal(signal).map { String(cString: $0) } ?? ""
8282
let signalledMessage = SignalledMessage(pid: pid, output: output, errorMessage: errorMessage, signal: Int(signal))
83-
message = ParsableMessage.signalledMessage(name: job.kind.rawValue, msg: signalledMessage)
83+
message = ParsableMessage(name: job.kind.rawValue, kind: .signalled(signalledMessage))
8484
}
8585
emit(message)
8686
}

Sources/SwiftDriver/Execution/ParsableOutput.swift

Lines changed: 3 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -23,25 +23,9 @@ public struct ParsableMessage {
2323
public let name: String
2424
public let kind: Kind
2525

26-
public static func beganMessage(
27-
name: String,
28-
msg: BeganMessage
29-
) -> ParsableMessage {
30-
return ParsableMessage(name: name, kind: .began(msg))
31-
}
32-
33-
public static func finishedMessage(
34-
name: String,
35-
msg: FinishedMessage
36-
) -> ParsableMessage {
37-
return ParsableMessage(name: name, kind: .finished(msg))
38-
}
39-
40-
public static func signalledMessage(
41-
name: String,
42-
msg: SignalledMessage
43-
) -> ParsableMessage {
44-
return ParsableMessage(name: name, kind: .signalled(msg))
26+
public init(name: String, kind: Kind) {
27+
self.name = name
28+
self.kind = kind
4529
}
4630

4731
public func toJSON() throws -> Data {

Tests/SwiftDriverTests/ParsableMessageTests.swift

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import SwiftDriver
1616

1717
final class ParsableMessageTests: XCTestCase {
1818
func testBeganMessage() throws {
19-
let msg = BeganMessage(
19+
let message = BeganMessage(
2020
pid: 1,
2121
inputs: ["/path/to/foo.swift"],
2222
outputs: [
@@ -26,7 +26,7 @@ final class ParsableMessageTests: XCTestCase {
2626
commandArguments: ["-frontend", "compile"]
2727
)
2828

29-
let beganMessage = ParsableMessage.beganMessage(name: "compile", msg: msg)
29+
let beganMessage = ParsableMessage(name: "compile", kind: .began(message))
3030

3131
let encoded = try beganMessage.toJSON()
3232
let string = String(data: encoded, encoding: .utf8)!
@@ -55,8 +55,8 @@ final class ParsableMessageTests: XCTestCase {
5555
}
5656

5757
func testFinishedMessage() throws {
58-
let msg = FinishedMessage(exitStatus: 1, pid: 1, output: "hello")
59-
let finishedMessage = ParsableMessage.finishedMessage(name: "compile", msg: msg)
58+
let message = FinishedMessage(exitStatus: 1, pid: 1, output: "hello")
59+
let finishedMessage = ParsableMessage(name: "compile", kind: .finished(message))
6060
let encoded = try finishedMessage.toJSON()
6161
let string = String(data: encoded, encoding: .utf8)!
6262

@@ -72,8 +72,8 @@ final class ParsableMessageTests: XCTestCase {
7272
}
7373

7474
func testSignalledMessage() throws {
75-
let msg = SignalledMessage(pid: 2, output: "sig", errorMessage: "err", signal: 3)
76-
let signalledMessage = ParsableMessage.signalledMessage(name: "compile", msg: msg)
75+
let message = SignalledMessage(pid: 2, output: "sig", errorMessage: "err", signal: 3)
76+
let signalledMessage = ParsableMessage(name: "compile", kind: .signalled(message))
7777
let encoded = try signalledMessage.toJSON()
7878
let string = String(data: encoded, encoding: .utf8)!
7979

0 commit comments

Comments
 (0)