[AST] Merge BridgedDiagnosticEngine + BridgedDiagEngine

Introduce a macro that can stamp out wrapper
classes for underlying C++ pointers, and use
it to define BridgedDiagnosticEngine in
ASTBridging. Then, migrate users of
BridgedDiagEngine onto it.
This commit is contained in:
Hamish Knight
2023-10-30 23:49:55 +00:00
parent fe0ad60fe8
commit fce1cb54d5
18 changed files with 82 additions and 58 deletions

View File

@@ -40,12 +40,12 @@ ParserResult<Expr> Parser::parseExprRegexLiteral() {
auto capturesBuf = Context.AllocateUninitialized<uint8_t>(
RegexLiteralExpr::getCaptureStructureSerializationAllocationSize(
regexText.size()));
bool hadError =
regexLiteralParsingFn(regexText.str().c_str(), &version,
/*captureStructureOut*/ capturesBuf.data(),
/*captureStructureSize*/ capturesBuf.size(),
/*diagBaseLoc*/ {(const uint8_t *)(Tok.getLoc().getOpaquePointerValue())},
getBridgedDiagnosticEngine(&Diags));
bool hadError = regexLiteralParsingFn(
regexText.str().c_str(), &version,
/*captureStructureOut*/ capturesBuf.data(),
/*captureStructureSize*/ capturesBuf.size(),
/*diagBaseLoc*/ {(const uint8_t *)(Tok.getLoc().getOpaquePointerValue())},
&Diags);
auto loc = consumeToken();
SourceMgr.recordRegexLiteralStartLoc(loc);