Skip to content

Commit 4158c46

Browse files
committed
Add release note for SwiftIfConfig
1 parent 3c98f24 commit 4158c46

File tree

5 files changed

+12
-7
lines changed

5 files changed

+12
-7
lines changed

Release Notes/601.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@
1515
- Description: This method translates an error into one or more diagnostics, recognizing `DiagnosticsError` and `DiagnosticMessage` instances or providing its own `Diagnostic` as needed.
1616
- Pull Request: https://github.com/swiftlang/swift-syntax/pull/1816
1717

18+
- Added a new library `SwiftIfConfig`.
19+
- Description: This new library provides facilities for evaluating `#if` conditions and determining which regions of a syntax tree are active according to a given build configuration.
20+
- Pull Request: https://github.com/swiftlang/swift-syntax/pull/1816
21+
1822
## API Behavior Changes
1923

2024
- `SyntaxProtocol.trimmed` detaches the node

Sources/SwiftIfConfig/IfConfigEvaluation.swift

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@ func evaluateIfConfig(
4141
return (
4242
active: false,
4343
versioned: true,
44-
diagnostics: extraDiagnostics + error.asDiagnostics(at: node))
44+
diagnostics: extraDiagnostics + error.asDiagnostics(at: node)
45+
)
4546
}
4647

4748
/// Record an if-config evaluation error before returning it. Use this for
@@ -133,9 +134,9 @@ func evaluateIfConfig(
133134
switch (lhsActive, op.operator.text) {
134135
case (true, "||"):
135136
return (active: true, versioned: lhsVersioned, diagnostics: lhsDiagnostics)
136-
case (false, "&&"):
137+
case (false, "&&"):
137138
return (active: false, versioned: lhsVersioned, diagnostics: lhsDiagnostics)
138-
default:
139+
default:
139140
break
140141
}
141142
}

Sources/SwiftIfConfig/SyntaxProtocol+IfConfig.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ extension SyntaxProtocol {
3232
/// configuration options `DEBUG` and `B` are provided, but `A` is not.
3333
public func isActive(
3434
in configuration: some BuildConfiguration
35-
) -> (state: IfConfigRegionState, diagnostics: [Diagnostic]) {
35+
) -> (state: IfConfigRegionState, diagnostics: [Diagnostic]) {
3636
var currentNode: Syntax = Syntax(self)
3737
var currentState: IfConfigRegionState = .active
3838
var diagnostics: [Diagnostic] = []

Tests/SwiftIfConfigTest/EvaluateTests.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ import SwiftParser
1616
import SwiftSyntax
1717
@_spi(XCTestFailureLocation) @_spi(Testing) import SwiftSyntaxMacrosGenericTestSupport
1818
import XCTest
19-
import _SwiftSyntaxTestSupport
2019
import _SwiftSyntaxGenericTestSupport
20+
import _SwiftSyntaxTestSupport
2121

2222
public class EvaluateTests: XCTestCase {
2323
func testLiterals() throws {
@@ -245,7 +245,7 @@ func assertIfConfig(
245245
// Evaluate the condition to check the state.
246246
let actualDiagnostics: [Diagnostic]
247247
let actualState: IfConfigRegionState
248-
(actualState, actualDiagnostics) = IfConfigRegionState.evaluating (condition, in: configuration)
248+
(actualState, actualDiagnostics) = IfConfigRegionState.evaluating(condition, in: configuration)
249249
XCTAssertEqual(actualState, expectedState, file: file, line: line)
250250

251251
// Check the diagnostics.

Tests/SwiftIfConfigTest/VisitorTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ import SwiftParser
1616
import SwiftSyntax
1717
@_spi(XCTestFailureLocation) @_spi(Testing) import SwiftSyntaxMacrosGenericTestSupport
1818
import XCTest
19-
import _SwiftSyntaxTestSupport
2019
import _SwiftSyntaxGenericTestSupport
20+
import _SwiftSyntaxTestSupport
2121

2222
/// Visitor that ensures that all of the nodes we visit are active.
2323
///

0 commit comments

Comments
 (0)