Skip to content

Commit 5f7c020

Browse files
committed
[ASTGen] Use C briding instead of C++ method
Apparently C++ method bridging doesn't work in Linux?
1 parent c1a6ac9 commit 5f7c020

File tree

2 files changed

+38
-24
lines changed

2 files changed

+38
-24
lines changed

include/swift/Parse/ParseBridging.h

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -35,19 +35,29 @@ class BridgedLegacyParser {
3535

3636
swift::Parser &unbridged() const { return *handle; }
3737
#endif
38-
39-
BridgedASTContext getASTContext() const;
40-
BridgedDiagnosticEngine getDiagnosticEngine() const;
41-
BridgedStringRef getSourceBuffer() const;
42-
BridgedDeclContext getCurrDeclContext() const;
43-
44-
BridgedExpr parseExpr(BridgedSourceLoc loc, BridgedDeclContext DC,
45-
bool isExprBasic) const;
46-
BridgedDecl parseDecl(BridgedSourceLoc loc, BridgedDeclContext DC) const;
47-
BridgedStmt parseStmt(BridgedSourceLoc loc, BridgedDeclContext DC) const;
48-
BridgedTypeRepr parseType(BridgedSourceLoc loc, BridgedDeclContext DC) const;
4938
};
5039

40+
SWIFT_NAME("BridgedLegacyParser.parseExpr(self:_:_:_:)")
41+
BridgedExpr BridgedLegacyParser_parseExpr(BridgedLegacyParser,
42+
BridgedSourceLoc loc,
43+
BridgedDeclContext DC,
44+
bool isExprBasic);
45+
46+
SWIFT_NAME("BridgedLegacyParser.parseDecl(self:_:_:)")
47+
BridgedDecl BridgedLegacyParser_parseDecl(BridgedLegacyParser,
48+
BridgedSourceLoc loc,
49+
BridgedDeclContext DC);
50+
51+
SWIFT_NAME("BridgedLegacyParser.parseStmt(self:_:_:)")
52+
BridgedStmt BridgedLegacyParser_parseStmt(BridgedLegacyParser,
53+
BridgedSourceLoc loc,
54+
BridgedDeclContext DC);
55+
56+
SWIFT_NAME("BridgedLegacyParser.parseType(self:_:_:)")
57+
BridgedTypeRepr BridgedLegacyParser_parseType(BridgedLegacyParser,
58+
BridgedSourceLoc loc,
59+
BridgedDeclContext DC);
60+
5161
SWIFT_END_NULLABILITY_ANNOTATIONS
5262

5363
#endif // SWIFT_PARSE_PARSEBRIDGING_H

lib/Parse/ParseBridging.cpp

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,11 @@ BridgedStringRef BridgedLegacyParser::getSourceBuffer() const {
3737

3838
// MARK: Functions called from SwiftParser.
3939

40-
BridgedExpr BridgedLegacyParser::parseExpr(BridgedSourceLoc loc,
41-
BridgedDeclContext DC,
42-
bool isExprBasic) const {
43-
auto &P = unbridged();
40+
BridgedExpr BridgedLegacyParser_parseExpr(BridgedLegacyParser p,
41+
BridgedSourceLoc loc,
42+
BridgedDeclContext DC,
43+
bool isExprBasic) const {
44+
auto &P = p.unbridged();
4445
auto PP =
4546
P.getParserPosition(loc.unbridged(), /*PreviousLoc=*/loc.unbridged());
4647
P.CurDeclContext = DC.unbridged();
@@ -50,9 +51,10 @@ BridgedExpr BridgedLegacyParser::parseExpr(BridgedSourceLoc loc,
5051
return result.getPtrOrNull();
5152
}
5253

53-
BridgedDecl BridgedLegacyParser::parseDecl(BridgedSourceLoc loc,
54-
BridgedDeclContext DC) const {
55-
auto &P = unbridged();
54+
BridgedDecl BridgedLegacyParser_parseDecl(BridgedLegacyParser p,
55+
BridgedSourceLoc loc,
56+
BridgedDeclContext DC) {
57+
auto &P = p.unbridged();
5658
auto PP =
5759
P.getParserPosition(loc.unbridged(), /*PreviousLoc=*/loc.unbridged());
5860
P.CurDeclContext = DC.unbridged();
@@ -68,9 +70,10 @@ BridgedDecl BridgedLegacyParser::parseDecl(BridgedSourceLoc loc,
6870
return result.getPtrOrNull();
6971
}
7072

71-
BridgedStmt BridgedLegacyParser::parseStmt(BridgedSourceLoc loc,
72-
BridgedDeclContext DC) const {
73-
auto &P = unbridged();
73+
BridgedStmt BridgedLegacyParser_parseStmt(BridgedLegacyParser p,
74+
BridgedSourceLoc loc,
75+
BridgedDeclContext DC) {
76+
auto &P = p.unbridged();
7477
auto PP =
7578
P.getParserPosition(loc.unbridged(), /*PreviousLoc=*/loc.unbridged());
7679
P.CurDeclContext = DC.unbridged();
@@ -80,9 +83,10 @@ BridgedStmt BridgedLegacyParser::parseStmt(BridgedSourceLoc loc,
8083
return result.getPtrOrNull();
8184
}
8285

83-
BridgedTypeRepr BridgedLegacyParser::parseType(BridgedSourceLoc loc,
84-
BridgedDeclContext DC) const {
85-
auto &P = unbridged();
86+
BridgedTypeRepr BridgedLegacyParser_parseType(BridgedLegacyParser p,
87+
BridgedSourceLoc loc,
88+
BridgedDeclContext DC) {
89+
auto &P = p.unbridged();
8690
auto PP =
8791
P.getParserPosition(loc.unbridged(), /*PreviousLoc=*/loc.unbridged());
8892
P.CurDeclContext = DC.unbridged();

0 commit comments

Comments
 (0)