Skip to content

Commit 8cbf5a2

Browse files
committed
Bridging: Bridge swift::DeclBaseName directly
1 parent 0e0fbc4 commit 8cbf5a2

File tree

9 files changed

+29
-75
lines changed

9 files changed

+29
-75
lines changed

include/swift/AST/ASTBridging.h

Lines changed: 4 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -135,28 +135,6 @@ struct BridgedConsumedLookupResult {
135135
SwiftInt flag);
136136
};
137137

138-
class BridgedDeclBaseName {
139-
swift::Identifier Ident;
140-
141-
public:
142-
BRIDGED_INLINE BridgedDeclBaseName(swift::DeclBaseName baseName);
143-
144-
BRIDGED_INLINE swift::DeclBaseName unbridged() const;
145-
};
146-
147-
SWIFT_NAME("BridgedDeclBaseName.createConstructor()")
148-
BridgedDeclBaseName BridgedDeclBaseName_createConstructor();
149-
150-
SWIFT_NAME("BridgedDeclBaseName.createDestructor()")
151-
BridgedDeclBaseName BridgedDeclBaseName_createDestructor();
152-
153-
SWIFT_NAME("BridgedDeclBaseName.createSubscript()")
154-
BridgedDeclBaseName BridgedDeclBaseName_createSubscript();
155-
156-
SWIFT_NAME("BridgedDeclBaseName.createIdentifier(_:)")
157-
BridgedDeclBaseName
158-
BridgedDeclBaseName_createIdentifier(swift::Identifier identifier);
159-
160138
class BridgedDeclNameRef {
161139
void *_Nullable opaque;
162140

@@ -169,14 +147,13 @@ class BridgedDeclNameRef {
169147
};
170148

171149
SWIFT_NAME("BridgedDeclNameRef.createParsed(_:baseName:argumentLabels:)")
172-
BridgedDeclNameRef
173-
BridgedDeclNameRef_createParsed(BridgedASTContext cContext,
174-
BridgedDeclBaseName cBaseName,
175-
BridgedArrayRef cLabels);
150+
BridgedDeclNameRef BridgedDeclNameRef_createParsed(BridgedASTContext cContext,
151+
swift::DeclBaseName baseName,
152+
BridgedArrayRef cLabels);
176153

177154
SWIFT_NAME("BridgedDeclNameRef.createParsed(_:)")
178155
BridgedDeclNameRef
179-
BridgedDeclNameRef_createParsed(BridgedDeclBaseName cBaseName);
156+
BridgedDeclNameRef_createParsed(swift::DeclBaseName baseName);
180157

181158
class BridgedDeclNameLoc {
182159
const void *_Nullable LocationInfo;

include/swift/AST/ASTBridgingImpl.h

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -33,18 +33,7 @@
3333
SWIFT_BEGIN_NULLABILITY_ANNOTATIONS
3434

3535
//===----------------------------------------------------------------------===//
36-
// MARK: BridgedDeclBaseName
37-
//===----------------------------------------------------------------------===//
38-
39-
BridgedDeclBaseName::BridgedDeclBaseName(swift::DeclBaseName baseName)
40-
: Ident(baseName.Ident) {}
41-
42-
swift::DeclBaseName BridgedDeclBaseName::unbridged() const {
43-
return swift::DeclBaseName(Ident);
44-
}
45-
46-
//===----------------------------------------------------------------------===//
47-
// MARK: BridgedDeclBaseName
36+
// MARK: BridgedConsumedLookupResult
4837
//===----------------------------------------------------------------------===//
4938

5039
BridgedConsumedLookupResult::BridgedConsumedLookupResult(

include/swift/AST/Identifier.h

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -320,15 +320,13 @@ namespace llvm {
320320

321321
} // end namespace llvm
322322

323-
class BridgedDeclBaseName;
323+
#endif // #ifdef NOT_COMPILED_WITH_SWIFT_PURE_BRIDGING_MODE
324324

325325
namespace swift {
326326

327327
/// Wrapper that may either be an Identifier or a special name
328328
/// (e.g. for subscripts)
329329
class DeclBaseName {
330-
friend class ::BridgedDeclBaseName;
331-
332330
public:
333331
enum class Kind: uint8_t {
334332
Normal,
@@ -367,6 +365,9 @@ class DeclBaseName {
367365
return DeclBaseName(Identifier((const char *)&DestructorIdentifierData));
368366
}
369367

368+
// Not imported into Swift in pure bridging mode.
369+
#ifdef NOT_COMPILED_WITH_SWIFT_PURE_BRIDGING_MODE
370+
370371
Kind getKind() const {
371372
if (Ident.get() == (const char *)&SubscriptIdentifierData) {
372373
return Kind::Subscript;
@@ -454,10 +455,15 @@ class DeclBaseName {
454455
static DeclBaseName getFromOpaquePointer(void *_Nullable P) {
455456
return Identifier::getFromOpaquePointer(P);
456457
}
458+
459+
#endif // #ifdef NOT_COMPILED_WITH_SWIFT_PURE_BRIDGING_MODE
457460
};
458461

459462
} // end namespace swift
460463

464+
// Not imported into Swift in pure bridging mode.
465+
#ifdef NOT_COMPILED_WITH_SWIFT_PURE_BRIDGING_MODE
466+
461467
namespace llvm {
462468

463469
raw_ostream &operator<<(raw_ostream &OS, swift::DeclBaseName D);

lib/AST/Bridging/DeclBridging.cpp

Lines changed: 6 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -32,36 +32,17 @@ using namespace swift;
3232
// MARK: DeclName
3333
//===----------------------------------------------------------------------===//
3434

35-
BridgedDeclBaseName BridgedDeclBaseName_createConstructor() {
36-
return DeclBaseName::createConstructor();
37-
}
38-
39-
BridgedDeclBaseName BridgedDeclBaseName_createDestructor() {
40-
return DeclBaseName::createDestructor();
41-
}
42-
43-
BridgedDeclBaseName BridgedDeclBaseName_createSubscript() {
44-
return DeclBaseName::createSubscript();
45-
}
46-
47-
BridgedDeclBaseName
48-
BridgedDeclBaseName_createIdentifier(swift::Identifier identifier) {
49-
return DeclBaseName(identifier);
50-
}
51-
52-
BridgedDeclNameRef
53-
BridgedDeclNameRef_createParsed(BridgedASTContext cContext,
54-
BridgedDeclBaseName cBaseName,
55-
BridgedArrayRef cLabels) {
35+
BridgedDeclNameRef BridgedDeclNameRef_createParsed(BridgedASTContext cContext,
36+
DeclBaseName baseName,
37+
BridgedArrayRef cLabels) {
5638
ASTContext &context = cContext.unbridged();
5739
auto labels = cLabels.unbridged<swift::Identifier>();
5840

59-
return DeclNameRef(DeclName(context, cBaseName.unbridged(), labels));
41+
return DeclNameRef(DeclName(context, baseName, labels));
6042
}
6143

62-
BridgedDeclNameRef
63-
BridgedDeclNameRef_createParsed(BridgedDeclBaseName cBaseName) {
64-
return DeclNameRef(cBaseName.unbridged());
44+
BridgedDeclNameRef BridgedDeclNameRef_createParsed(DeclBaseName baseName) {
45+
return DeclNameRef(baseName);
6546
}
6647

6748
BridgedDeclNameLoc BridgedDeclNameLoc_createParsed(

lib/ASTGen/Sources/ASTGen/Bridge.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import SwiftIfConfig
1616
@_spi(RawSyntax) import SwiftSyntax
1717

1818
public typealias Identifier = swift.Identifier
19+
public typealias DeclBaseName = swift.DeclBaseName
1920

2021
public protocol BridgedNullable: ExpressibleByNilLiteral {
2122
associatedtype RawPtr

lib/ASTGen/Sources/ASTGen/DeclAttrs.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1272,7 +1272,7 @@ extension ASTGenVisitor {
12721272
if let arg = arg.as(DeclReferenceExprSyntax.self) {
12731273
name = self.generateDeclNameRef(declReferenceExpr: arg).name
12741274
} else if arg.is(DiscardAssignmentExprSyntax.self) {
1275-
name = BridgedDeclNameRef.createParsed(.createIdentifier(self.ctx.getIdentifier("_")))
1275+
name = BridgedDeclNameRef.createParsed(.init(self.ctx.getIdentifier("_")))
12761276
} else {
12771277
// TODO: Diagnose
12781278
fatalError("expected name")

lib/ASTGen/Sources/ASTGen/Exprs.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -520,7 +520,7 @@ extension ASTGenVisitor {
520520
func generateDeclNameRef(declReferenceExpr node: DeclReferenceExprSyntax) -> (
521521
name: BridgedDeclNameRef, loc: BridgedDeclNameLoc
522522
) {
523-
let baseName: BridgedDeclBaseName
523+
let baseName: DeclBaseName
524524
switch node.baseName.keywordKind {
525525
case .`init`:
526526
baseName = .createConstructor()
@@ -529,7 +529,7 @@ extension ASTGenVisitor {
529529
case .subscript:
530530
baseName = .createSubscript()
531531
default:
532-
baseName = .createIdentifier(self.generateIdentifier(node.baseName))
532+
baseName = .init(self.generateIdentifier(node.baseName))
533533
}
534534
let baseNameLoc = self.generateSourceLoc(node.baseName)
535535

@@ -858,7 +858,7 @@ extension ASTGenVisitor {
858858

859859
return FreestandingMacroExpansionInfo(
860860
poundLoc: poundLoc,
861-
macroNameRef: .createParsed(.createIdentifier(nameLoc.identifier)),
861+
macroNameRef: .createParsed(.init(nameLoc.identifier)),
862862
macroNameLoc: .createParsed(nameLoc.sourceLoc),
863863
leftAngleLoc: leftAngleLoc,
864864
genericArgs: genericArgs.lazy.bridgedArray(in: self),
@@ -1332,7 +1332,7 @@ extension ASTGenVisitor {
13321332

13331333
return .createParsed(
13341334
self.ctx,
1335-
name: .createParsed(.createIdentifier(name)),
1335+
name: .createParsed(.init(name)),
13361336
kind: kind,
13371337
loc: .createParsed(nameLoc)
13381338
);

lib/ASTGen/Sources/ASTGen/Literals.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,12 +76,12 @@ extension ASTGenVisitor {
7676
// Name reference to `appendLiteral(_:)`
7777
let appendLiteral = BridgedDeclNameRef.createParsed(
7878
self.ctx,
79-
baseName: .createIdentifier(self.ctx.getIdentifier("appendLiteral")),
79+
baseName: .init(self.ctx.getIdentifier("appendLiteral")),
8080
argumentLabels: CollectionOfOne(Identifier()).bridgedArray(in: self)
8181
)
8282
// Name reference to `appendInterpolation`. Arguments labels are not determined yet.
8383
let appendInterpolation = BridgedDeclNameRef.createParsed(
84-
.createIdentifier(self.ctx.getIdentifier("appendInterpolation"))
84+
.init(self.ctx.getIdentifier("appendInterpolation"))
8585
)
8686

8787
// Total byte length of "literal" segments.

lib/ASTGen/Sources/ASTGen/Stmts.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,7 @@ extension ASTGenVisitor {
221221
let identifier = pat.boundName
222222
if identifier != nil {
223223
// For `if let foo { }` Create a `foo` expression as the initializer.
224-
let ref = BridgedDeclNameRef.createParsed(.createIdentifier(identifier))
224+
let ref = BridgedDeclNameRef.createParsed(.init(identifier))
225225
let loc = BridgedDeclNameLoc.createParsed(self.generateSourceLoc(node.pattern))
226226
initializer =
227227
BridgedUnresolvedDeclRefExpr.createParsed(

0 commit comments

Comments
 (0)