Skip to content

Commit 0b72f94

Browse files
committed
Instead of importing platform SDK modules, just use C shims
1 parent bd19a8f commit 0b72f94

File tree

4 files changed

+34
-46
lines changed

4 files changed

+34
-46
lines changed

Sources/SwiftCompilerPluginMessageHandling/JSON/JSONDecoding.swift

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -11,21 +11,9 @@
1111
//===----------------------------------------------------------------------===//
1212

1313
#if swift(>=6.0)
14-
#if canImport(Darwin)
15-
private import Darwin
16-
#elseif canImport(Glibc)
17-
private import Glibc
18-
#elseif canImport(ucrt)
19-
private import ucrt
20-
#endif
14+
private import _SwiftSyntaxCShims
2115
#else
22-
#if canImport(Darwin)
23-
import Darwin
24-
#elseif canImport(Glibc)
25-
import Glibc
26-
#elseif canImport(ucrt)
27-
import ucrt
28-
#endif
16+
import _SwiftSyntaxCShims
2917
#endif
3018

3119
func decodeFromJSON<T: Decodable>(json: UnsafeBufferPointer<UInt8>) throws -> T {

Sources/SwiftCompilerPluginMessageHandling/StandardIOMessageConnection.swift

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -12,22 +12,8 @@
1212

1313
#if swift(>=6.0)
1414
private import _SwiftSyntaxCShims
15-
#if canImport(Darwin)
16-
private import Darwin
17-
#elseif canImport(Glibc)
18-
private import Glibc
19-
#elseif canImport(ucrt)
20-
private import ucrt
21-
#endif
2215
#else
2316
import _SwiftSyntaxCShims
24-
#if canImport(Darwin)
25-
import Darwin
26-
#elseif canImport(Glibc)
27-
import Glibc
28-
#elseif canImport(ucrt)
29-
import ucrt
30-
#endif
3117
#endif
3218

3319
#if canImport(ucrt)

Sources/SwiftSyntax/SyntaxText.swift

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -11,25 +11,9 @@
1111
//===----------------------------------------------------------------------===//
1212

1313
#if swift(>=6.0)
14-
#if canImport(Darwin)
15-
private import Darwin
16-
#elseif canImport(Glibc)
17-
private import Glibc
18-
#elseif canImport(Musl)
19-
private import Musl
20-
#elseif canImport(ucrt)
21-
private import ucrt
22-
#endif
14+
private import _SwiftSyntaxCShims
2315
#else
24-
#if canImport(Darwin)
25-
import Darwin
26-
#elseif canImport(Glibc)
27-
import Glibc
28-
#elseif canImport(Musl)
29-
import Musl
30-
#elseif canImport(ucrt)
31-
import ucrt
32-
#endif
16+
import _SwiftSyntaxCShims
3317
#endif
3418

3519
/// Represent a string.
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
//===----------------------------------------------------------------------===//
2+
//
3+
// This source file is part of the Swift.org open source project
4+
//
5+
// Copyright (c) 2024 Apple Inc. and the Swift project authors
6+
// Licensed under Apache License v2.0 with Runtime Library Exception
7+
//
8+
// See https://swift.org/LICENSE.txt for license information
9+
// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
10+
//
11+
//===----------------------------------------------------------------------===//
12+
//
13+
// This file is for, instead of importing platform modules in Swift file, like:
14+
//
15+
// #if canImport(Darwin)
16+
// import Darwin
17+
// #elseif canImport(Glibc)
18+
// import Glibc
19+
// ...
20+
//
21+
// Just include them here using C facilities, so that Swift module can just:
22+
//
23+
// import _SwiftSyntaxCShims
24+
//
25+
//===----------------------------------------------------------------------===//
26+
27+
#include <io.h>
28+
#include <stdbool.h>
29+
#include <stdio.h>
30+
#include <string.h>

0 commit comments

Comments
 (0)