@@ -1538,6 +1538,21 @@ BridgedExistentialTypeRepr_createParsed(BridgedASTContext cContext,
15381538// MARK: Patterns
15391539// ===----------------------------------------------------------------------===//
15401540
1541+ BridgedAnyPattern BridgedAnyPattern_createParsed (BridgedASTContext cContext,
1542+ BridgedSourceLoc cLoc) {
1543+ return new (cContext.unbridged ()) AnyPattern (cLoc.unbridged ());
1544+ }
1545+
1546+ BridgedBindingPattern
1547+ BridgedBindingPattern_createParsed (BridgedASTContext cContext,
1548+ BridgedSourceLoc cKeywordLoc, bool isLet,
1549+ BridgedPattern cSubPattern) {
1550+ VarDecl::Introducer introducer =
1551+ isLet ? VarDecl::Introducer::Let : VarDecl::Introducer::Var;
1552+ return new (cContext.unbridged ()) BindingPattern (
1553+ cKeywordLoc.unbridged (), introducer, cSubPattern.unbridged ());
1554+ }
1555+
15411556BridgedNamedPattern
15421557BridgedNamedPattern_createParsed (BridgedASTContext cContext,
15431558 BridgedDeclContext cDeclContext,
@@ -1554,6 +1569,37 @@ BridgedNamedPattern_createParsed(BridgedASTContext cContext,
15541569 return pattern;
15551570}
15561571
1572+ BridgedParenPattern BridgedParenPattern_createParsed (
1573+ BridgedASTContext cContext, BridgedSourceLoc cLParenLoc,
1574+ BridgedPattern cSubPattern, BridgedSourceLoc cRParenLoc) {
1575+ return new (cContext.unbridged ()) ParenPattern (
1576+ cLParenLoc.unbridged (), cSubPattern.unbridged (), cRParenLoc.unbridged ());
1577+ }
1578+
1579+ BridgedTuplePattern BridgedTuplePattern_createParsed (
1580+ BridgedASTContext cContext, BridgedSourceLoc cLParenLoc,
1581+ BridgedArrayRef cElements, BridgedSourceLoc cRParenLoc) {
1582+ ASTContext &context = cContext.unbridged ();
1583+ llvm::SmallVector<TuplePatternElt, 4 > elements;
1584+ elements.reserve (cElements.Length );
1585+ llvm::transform (cElements.unbridged <BridgedTuplePatternElt>(),
1586+ elements.begin (), [](const BridgedTuplePatternElt &elt) {
1587+ return TuplePatternElt (elt.Label .unbridged (),
1588+ elt.LabelLoc .unbridged (),
1589+ elt.ThePattern .unbridged ());
1590+ });
1591+
1592+ return TuplePattern::create (context, cLParenLoc.unbridged (), elements,
1593+ cRParenLoc.unbridged ());
1594+ }
1595+
1596+ BridgedTypedPattern BridgedTypedPattern_createParsed (BridgedASTContext cContext,
1597+ BridgedPattern cPattern,
1598+ BridgedTypeRepr cType) {
1599+ return new (cContext.unbridged ())
1600+ TypedPattern (cPattern.unbridged (), cType.unbridged ());
1601+ }
1602+
15571603// ===----------------------------------------------------------------------===//
15581604// MARK: Misc
15591605// ===----------------------------------------------------------------------===//
0 commit comments