Skip to content

Commit 701340b

Browse files
committed
Rename OperatorPrecedenceError -> OperatorError.
More renaming for generalization.
1 parent d895d3b commit 701340b

File tree

8 files changed

+37
-37
lines changed

8 files changed

+37
-37
lines changed

Sources/SwiftOperators/OperatorPrecedenceError+Diagnostics.swift renamed to Sources/SwiftOperators/OperatorError+Diagnostics.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
//===------------------ OperatorPrecedenceError.swift ---------------------===//
1+
//===------------------ OperatorError.swift ---------------------===//
22
//
33
// This source file is part of the Swift.org open source project
44
//
@@ -14,7 +14,7 @@ import SwiftDiagnostics
1414
import SwiftParser
1515
import SwiftSyntax
1616

17-
extension OperatorPrecedenceError : DiagnosticMessage {
17+
extension OperatorError : DiagnosticMessage {
1818
public var severity: DiagnosticSeverity {
1919
.error
2020
}
@@ -47,7 +47,7 @@ extension OperatorPrecedenceError : DiagnosticMessage {
4747
}
4848
}
4949

50-
extension OperatorPrecedenceError {
50+
extension OperatorError {
5151
private func fixupDiagnosticDisplayNode<Node: SyntaxProtocol>(
5252
_ node: Node?
5353
) -> Syntax {

Sources/SwiftOperators/OperatorPrecedenceError.swift renamed to Sources/SwiftOperators/OperatorError.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
//===------------------ OperatorPrecedenceError.swift ---------------------===//
1+
//===------------------ OperatorError.swift ---------------------===//
22
//
33
// This source file is part of the Swift.org open source project
44
//
@@ -11,8 +11,8 @@
1111
//===----------------------------------------------------------------------===//
1212
import SwiftSyntax
1313

14-
/// Describes errors that can occur when working with operator precedence graphs.
15-
public enum OperatorPrecedenceError: Error {
14+
/// Describes errors that can occur when working with user-defined operators.
15+
public enum OperatorError: Error {
1616
/// Error produced when a given precedence group already exists in the
1717
/// precedence graph.
1818
case groupAlreadyExists(existing: PrecedenceGroup, new: PrecedenceGroup)
@@ -41,5 +41,5 @@ public enum OperatorPrecedenceError: Error {
4141
/// may choose to throw (in which case the error will propagate outward) or
4242
/// may separately record/drop the error and return without throwing (in
4343
/// which case the operator-precedence parser will recover).
44-
public typealias OperatorPrecedenceErrorHandler =
45-
(OperatorPrecedenceError) throws -> Void
44+
public typealias OperatorErrorHandler =
45+
(OperatorError) throws -> Void

Sources/SwiftOperators/OperatorTable+Folding.swift

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ extension OperatorTable {
3131
fromGroup groupName: PrecedenceGroupName?,
3232
in bound: PrecedenceBound,
3333
operatorSyntax: Syntax,
34-
errorHandler: OperatorPrecedenceErrorHandler = { throw $0 }
34+
errorHandler: OperatorErrorHandler = { throw $0 }
3535
) rethrows -> Bool {
3636
guard let boundGroupName = bound.groupName else {
3737
return true
@@ -55,7 +55,7 @@ extension OperatorTable {
5555
/// Look up the precedence group for the given expression syntax.
5656
private func lookupPrecedence(
5757
of expr: ExprSyntax,
58-
errorHandler: OperatorPrecedenceErrorHandler = { throw $0 }
58+
errorHandler: OperatorErrorHandler = { throw $0 }
5959
) rethrows -> PrecedenceGroupName? {
6060
// A binary operator.
6161
if let binaryExpr = expr.as(BinaryOperatorExprSyntax.self) {
@@ -180,7 +180,7 @@ extension OperatorTable {
180180
firstOperatorSyntax: Syntax?,
181181
secondGroup: PrecedenceGroupName?,
182182
secondOperatorSyntax: Syntax?,
183-
errorHandler: OperatorPrecedenceErrorHandler = { throw $0 }
183+
errorHandler: OperatorErrorHandler = { throw $0 }
184184
) rethrows -> Associativity {
185185
guard let firstGroup = firstGroup, let secondGroup = secondGroup else {
186186
return .none
@@ -221,7 +221,7 @@ extension OperatorTable {
221221
private func fold(
222222
_ lhs: ExprSyntax, rest: inout Slice<ExprListSyntax>,
223223
bound: PrecedenceBound,
224-
errorHandler: OperatorPrecedenceErrorHandler = { throw $0 }
224+
errorHandler: OperatorErrorHandler = { throw $0 }
225225
) rethrows -> ExprSyntax {
226226
if rest.isEmpty { return lhs }
227227

@@ -378,7 +378,7 @@ extension OperatorTable {
378378
/// as if the expression has been parenthesized `x + (y * z)`.
379379
public func foldSingle(
380380
_ sequence: SequenceExprSyntax,
381-
errorHandler: OperatorPrecedenceErrorHandler = { throw $0 }
381+
errorHandler: OperatorErrorHandler = { throw $0 }
382382
) rethrows -> ExprSyntax {
383383
let lhs = sequence.elements.first!
384384
var rest = sequence.elements.dropFirst()
@@ -394,14 +394,14 @@ extension OperatorTable {
394394
private class SequenceFolder : SyntaxRewriter {
395395
/// The first operator precedecence that caused the error handler to
396396
/// also throw.
397-
var firstFatalError: OperatorPrecedenceError? = nil
397+
var firstFatalError: OperatorError? = nil
398398

399399
let opPrecedence: OperatorTable
400-
let errorHandler: OperatorPrecedenceErrorHandler
400+
let errorHandler: OperatorErrorHandler
401401

402402
init(
403403
opPrecedence: OperatorTable,
404-
errorHandler: @escaping OperatorPrecedenceErrorHandler
404+
errorHandler: @escaping OperatorErrorHandler
405405
) {
406406
self.opPrecedence = opPrecedence
407407
self.errorHandler = errorHandler
@@ -452,7 +452,7 @@ extension OperatorTable {
452452
/// the operation, then the second must also throw.
453453
public func foldAll<Node: SyntaxProtocol>(
454454
_ node: Node,
455-
errorHandler: OperatorPrecedenceErrorHandler = { throw $0 }
455+
errorHandler: OperatorErrorHandler = { throw $0 }
456456
) rethrows -> SyntaxProtocol {
457457
return try withoutActuallyEscaping(errorHandler) { errorHandler in
458458
let folder = SequenceFolder(

Sources/SwiftOperators/OperatorTable+Semantics.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,18 +87,18 @@ extension OperatorTable {
8787
/// source file into the operator precedence tables.
8888
public mutating func addSourceFile(
8989
_ sourceFile: SourceFileSyntax,
90-
errorHandler: OperatorPrecedenceErrorHandler = { throw $0 }
90+
errorHandler: OperatorErrorHandler = { throw $0 }
9191
) rethrows {
9292
class OperatorAndGroupVisitor : SyntaxAnyVisitor {
9393
var opPrecedence: OperatorTable
94-
var errors: [OperatorPrecedenceError] = []
94+
var errors: [OperatorError] = []
9595

9696
init(opPrecedence: OperatorTable) {
9797
self.opPrecedence = opPrecedence
9898
super.init(viewMode: .fixedUp)
9999
}
100100

101-
private func errorHandler(error: OperatorPrecedenceError) {
101+
private func errorHandler(error: OperatorError) {
102102
errors.append(error)
103103
}
104104

Sources/SwiftOperators/OperatorTable.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public struct OperatorTable {
3232
public init(
3333
precedenceGroups: [PrecedenceGroup],
3434
operators: [Operator],
35-
errorHandler: OperatorPrecedenceErrorHandler = { throw $0 }
35+
errorHandler: OperatorErrorHandler = { throw $0 }
3636
) rethrows {
3737
for group in precedenceGroups {
3838
try record(group, errorHandler: errorHandler)
@@ -46,7 +46,7 @@ public struct OperatorTable {
4646
private func record(
4747
_ op: Operator,
4848
in table: inout [OperatorName : Operator],
49-
errorHandler: OperatorPrecedenceErrorHandler = { throw $0 }
49+
errorHandler: OperatorErrorHandler = { throw $0 }
5050
) rethrows {
5151
if let existing = table[op.name] {
5252
try errorHandler(.operatorAlreadyExists(existing: existing, new: op))
@@ -58,7 +58,7 @@ public struct OperatorTable {
5858
/// Record the operator.
5959
mutating func record(
6060
_ op: Operator,
61-
errorHandler: OperatorPrecedenceErrorHandler = { throw $0 }
61+
errorHandler: OperatorErrorHandler = { throw $0 }
6262
) rethrows {
6363
switch op.kind {
6464
case .infix:
@@ -75,7 +75,7 @@ public struct OperatorTable {
7575
/// Record the precedence group.
7676
mutating func record(
7777
_ group: PrecedenceGroup,
78-
errorHandler: OperatorPrecedenceErrorHandler = { throw $0 }
78+
errorHandler: OperatorErrorHandler = { throw $0 }
7979
) rethrows {
8080
try precedenceGraph.add(group, errorHandler: errorHandler)
8181
}
@@ -86,7 +86,7 @@ extension OperatorTable {
8686
func lookupOperatorPrecedenceGroupName(
8787
_ operatorName: OperatorName,
8888
referencedFrom syntax: Syntax?,
89-
errorHandler: OperatorPrecedenceErrorHandler = { throw $0 }
89+
errorHandler: OperatorErrorHandler = { throw $0 }
9090
) rethrows -> PrecedenceGroupName? {
9191
guard let op = infixOperators[operatorName] else {
9292
try errorHandler(

Sources/SwiftOperators/PrecedenceGraph.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,11 @@ struct PrecedenceGraph {
4040
/// throws PrecedenceGraphError.groupAlreadyExists.
4141
mutating func add(
4242
_ group: PrecedenceGroup,
43-
errorHandler: OperatorPrecedenceErrorHandler = { throw $0 }
43+
errorHandler: OperatorErrorHandler = { throw $0 }
4444
) rethrows {
4545
if let existing = precedenceGroups[group.name] {
4646
try errorHandler(
47-
OperatorPrecedenceError.groupAlreadyExists(
47+
OperatorError.groupAlreadyExists(
4848
existing: existing, new: group))
4949
} else {
5050
precedenceGroups[group.name] = group
@@ -64,7 +64,7 @@ struct PrecedenceGraph {
6464
initialGroupName: PrecedenceGroupName, initialSyntax: Syntax?,
6565
targetGroupName: PrecedenceGroupName,
6666
direction: PrecedenceRelation.Kind,
67-
errorHandler: OperatorPrecedenceErrorHandler
67+
errorHandler: OperatorErrorHandler
6868
) rethrows -> Precedence? {
6969
// Keep track of all of the groups we have seen during our exploration of
7070
// the graph. This detects cycles and prevents extraneous work.
@@ -116,7 +116,7 @@ struct PrecedenceGraph {
116116
to endGroupName: PrecedenceGroupName,
117117
startSyntax: Syntax?,
118118
endSyntax: Syntax?,
119-
errorHandler: OperatorPrecedenceErrorHandler = { throw $0 }
119+
errorHandler: OperatorErrorHandler = { throw $0 }
120120
) rethrows -> Precedence {
121121
if startGroupName == endGroupName {
122122
return .unrelated

Sources/SwiftOperators/SwiftOperators.docc/SwiftOperators.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,10 +78,10 @@ dump(folded2) // contains InfixOperatorExpr(b, **, InfixOperatorExpr(c, **, d))
7878

7979
## Error handling
8080

81-
By default, any of the operations that can produce an error, whether folding a sequence or parsing a source file's operators and precedence groups into a table, will throw an instance of <doc:OperatorPrecedenceError>. However, each entry point takes an optional error handler (of type <doc:OperatorPrecedenceErrorHandler>) that will be called with each error that occurs. For example, we can capture errors like this:
81+
By default, any of the operations that can produce an error, whether folding a sequence or parsing a source file's operators and precedence groups into a table, will throw an instance of <doc:OperatorError>. However, each entry point takes an optional error handler (of type <doc:OperatorErrorHandler>) that will be called with each error that occurs. For example, we can capture errors like this:
8282

8383
```swift
84-
var errors: [OperatorPrecedenceError] = []
84+
var errors: [OperatorError] = []
8585
let foldedExpr2e = opPrecedence.foldSingle(sequenceExpr2) { error in
8686
errors.append(error)
8787
}

Tests/SwiftOperatorsTest/OperatorTable.swift

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ public class OperatorPrecedenceTests: XCTestCase {
196196
let parsedOperatorPrecedence = try Parser.parse(source: sources)
197197

198198
var opPrecedence = OperatorTable()
199-
var errors: [OperatorPrecedenceError] = []
199+
var errors: [OperatorError] = []
200200
opPrecedence.addSourceFile(parsedOperatorPrecedence) { error in
201201
errors.append(error)
202202
}
@@ -236,7 +236,7 @@ public class OperatorPrecedenceTests: XCTestCase {
236236
let parsedOperatorPrecedence = try Parser.parse(source: sources)
237237

238238
var opPrecedence = OperatorTable()
239-
var errors: [OperatorPrecedenceError] = []
239+
var errors: [OperatorError] = []
240240
opPrecedence.addSourceFile(parsedOperatorPrecedence) { error in
241241
errors.append(error)
242242
}
@@ -282,7 +282,7 @@ public class OperatorPrecedenceTests: XCTestCase {
282282
try opPrecedence.addSourceFile(parsedOperatorPrecedence)
283283

284284
do {
285-
var errors: [OperatorPrecedenceError] = []
285+
var errors: [OperatorError] = []
286286
let parsed = try Parser.parse(source: "a + b * c")
287287
let sequenceExpr =
288288
parsed.statements.first!.item.as(SequenceExprSyntax.self)!
@@ -301,7 +301,7 @@ public class OperatorPrecedenceTests: XCTestCase {
301301
}
302302

303303
do {
304-
var errors: [OperatorPrecedenceError] = []
304+
var errors: [OperatorError] = []
305305
let parsed = try Parser.parse(source: "a / c")
306306
let sequenceExpr =
307307
parsed.statements.first!.item.as(SequenceExprSyntax.self)!
@@ -320,7 +320,7 @@ public class OperatorPrecedenceTests: XCTestCase {
320320
}
321321

322322
do {
323-
var errors: [OperatorPrecedenceError] = []
323+
var errors: [OperatorError] = []
324324
let parsed = try Parser.parse(source: "a + b - c")
325325
let sequenceExpr =
326326
parsed.statements.first!.item.as(SequenceExprSyntax.self)!
@@ -342,7 +342,7 @@ public class OperatorPrecedenceTests: XCTestCase {
342342
}
343343

344344
do {
345-
var errors: [OperatorPrecedenceError] = []
345+
var errors: [OperatorError] = []
346346
let parsed = try Parser.parse(source: "a ++ b - d")
347347
let sequenceExpr =
348348
parsed.statements.first!.item.as(SequenceExprSyntax.self)!

0 commit comments

Comments
 (0)