[ASTGen] Infrastructure to implment ASTGen Incrementally

* 'ASTGenVisitor' has a reference to a legacy C++ Parser configured for
  ASTGen.
* If 'ASTGenVisitor' encounters a AST node that hasn't been migrated,
  call parse(Decl|Stmt|Expr|Type) to parse the position using the legacy
  parser.
* The legacy parser calls ASTGen's
  'swift_ASTGen_build(Decl|Stmt|Expr|Type)' for each ASTNode "parsing"
  (unless the call is not directly from the ASTGen.)

rdar://117151886
This commit is contained in:
Rintaro Ishizaki
2023-11-09 12:00:47 -08:00
parent 2c8d7f2550
commit fb08a92f48
18 changed files with 812 additions and 204 deletions

View File

@@ -10,6 +10,12 @@ module ASTBridging {
export *
}
module ParseBridging {
header "swift/Parse/ParseBridging.h"
requires cplusplus
export *
}
module SILBridging {
header "swift/SIL/SILBridging.h"
requires cplusplus