@@ -1538,6 +1538,21 @@ BridgedExistentialTypeRepr_createParsed(BridgedASTContext cContext,
1538
1538
// MARK: Patterns
1539
1539
// ===----------------------------------------------------------------------===//
1540
1540
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
+
1541
1556
BridgedNamedPattern
1542
1557
BridgedNamedPattern_createParsed (BridgedASTContext cContext,
1543
1558
BridgedDeclContext cDeclContext,
@@ -1554,6 +1569,37 @@ BridgedNamedPattern_createParsed(BridgedASTContext cContext,
1554
1569
return pattern;
1555
1570
}
1556
1571
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
+
1557
1603
// ===----------------------------------------------------------------------===//
1558
1604
// MARK: Misc
1559
1605
// ===----------------------------------------------------------------------===//
0 commit comments