Skip to content

Commit 39473d8

Browse files
committed
Move the abstract diagnostic types to their own module
1 parent 101bbc6 commit 39473d8

File tree

8 files changed

+30
-19
lines changed

8 files changed

+30
-19
lines changed

Package.swift

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,10 @@ let package = Package(
5858
"README.md"
5959
]
6060
),
61+
.target(
62+
name: "Diagnostics",
63+
dependencies: ["SwiftSyntax"]
64+
),
6165
.target(
6266
name: "SwiftSyntax",
6367
dependencies: ["_CSwiftSyntax"],
@@ -105,15 +109,15 @@ let package = Package(
105109
),
106110
.target(
107111
name: "SwiftParser",
108-
dependencies: ["SwiftSyntax"]
112+
dependencies: ["Diagnostics", "SwiftSyntax"]
109113
),
110114
.executableTarget(
111115
name: "lit-test-helper",
112116
dependencies: ["SwiftSyntax", "SwiftSyntaxParser"]
113117
),
114118
.executableTarget(
115119
name: "swift-parser-test",
116-
dependencies: ["SwiftSyntax", "SwiftParser", .product(name: "ArgumentParser", package: "swift-argument-parser")]
120+
dependencies: ["Diagnostics", "SwiftSyntax", "SwiftParser", .product(name: "ArgumentParser", package: "swift-argument-parser")]
117121
),
118122
.executableTarget(
119123
name: "generate-swift-syntax-builder",
@@ -159,7 +163,7 @@ let package = Package(
159163
),
160164
.testTarget(
161165
name: "SwiftParserTest",
162-
dependencies: ["SwiftParser", "_SwiftSyntaxTestSupport"]
166+
dependencies: ["Diagnostics", "SwiftParser", "_SwiftSyntaxTestSupport"]
163167
),
164168
]
165169
)

Sources/SwiftParser/Diagnostics/Diagnostic.swift renamed to Sources/Diagnostics/Diagnostic.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public struct Diagnostic {
1919
/// The node at whose start location the message should be displayed.
2020
public let node: Syntax
2121

22-
init(node: Syntax, message: DiagnosticMessage) {
22+
public init(node: Syntax, message: DiagnosticMessage) {
2323
self.diagMessage = message
2424
self.node = node
2525
}

Sources/SwiftParser/Diagnostics/DiagnosticMessage.swift renamed to Sources/Diagnostics/DiagnosticMessage.swift

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -34,18 +34,3 @@ public protocol DiagnosticMessage {
3434
/// See ``DiagnosticMessageID``.
3535
var diagnosticID: DiagnosticMessageID { get }
3636
}
37-
38-
/// A diagnostic how's ID is determined by the diagnostic's type.
39-
public protocol TypedDiagnosticMessage: DiagnosticMessage {
40-
var diagnosticID: DiagnosticMessageID { get }
41-
}
42-
43-
public extension TypedDiagnosticMessage {
44-
static var diagnosticID: DiagnosticMessageID {
45-
return DiagnosticMessageID("\(self)")
46-
}
47-
48-
var diagnosticID: DiagnosticMessageID {
49-
return Self.diagnosticID
50-
}
51-
}

Sources/SwiftParser/Diagnostics/ParseDiagnosticsGenerator.swift

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

13+
import Diagnostics
1314
import SwiftSyntax
1415

1516
extension UnexpectedNodesSyntax {

Sources/SwiftParser/Diagnostics/ParserDiagnosticMessages.swift

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
//
1111
//===----------------------------------------------------------------------===//
1212

13+
import Diagnostics
1314
import SwiftSyntax
1415

1516
extension Syntax {
@@ -35,6 +36,23 @@ extension Syntax {
3536
}
3637
}
3738

39+
40+
/// A diagnostic how's ID is determined by the diagnostic's type.
41+
public protocol TypedDiagnosticMessage: DiagnosticMessage {
42+
var diagnosticID: DiagnosticMessageID { get }
43+
}
44+
45+
public extension TypedDiagnosticMessage {
46+
static var diagnosticID: DiagnosticMessageID {
47+
return DiagnosticMessageID("\(self)")
48+
}
49+
50+
var diagnosticID: DiagnosticMessageID {
51+
return Self.diagnosticID
52+
}
53+
}
54+
55+
3856
// MARK: - Diagnostics (please sort alphabetically)
3957

4058
public struct CStyleForLoopDiagnostic: TypedDiagnosticMessage {

Sources/swift-parser-test/swift-parser-test.swift

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

1313

14+
import Diagnostics
1415
import SwiftSyntax
1516
import SwiftParser
1617
import Foundation

Tests/SwiftParserTest/DiagnosticAssertions.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import Diagnostics
12
import SwiftSyntax
23
import SwiftParser
34
import XCTest

Tests/SwiftParserTest/DiagnosticInfrastructureTests.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import XCTest
2+
import Diagnostics
23
import SwiftParser
34

45
public class DiagnosticInfrastructureTests: XCTestCase {

0 commit comments

Comments
 (0)