@@ -1632,6 +1632,7 @@ class SolutionApplicationTarget {
1632
1632
} caseLabelItem;
1633
1633
1634
1634
struct {
1635
+ PatternBindingDecl *binding;
1635
1636
// / Index into pattern binding declaration (if any).
1636
1637
unsigned index;
1637
1638
PointerUnion<VarDecl *, Pattern *> declaration;
@@ -1688,10 +1689,11 @@ class SolutionApplicationTarget {
1688
1689
SolutionApplicationTarget (VarDecl *uninitializedWrappedVar)
1689
1690
: kind(Kind::uninitializedVar) {
1690
1691
if (auto *PDB = uninitializedWrappedVar->getParentPatternBinding ()) {
1691
- patternBinding = PDB;
1692
+ uninitializedVar. binding = PDB;
1692
1693
uninitializedVar.index =
1693
1694
PDB->getPatternEntryIndexForVarDecl (uninitializedWrappedVar);
1694
1695
} else {
1696
+ uninitializedVar.binding = nullptr ;
1695
1697
uninitializedVar.index = 0 ;
1696
1698
}
1697
1699
@@ -1702,9 +1704,7 @@ class SolutionApplicationTarget {
1702
1704
SolutionApplicationTarget (PatternBindingDecl *binding, unsigned index,
1703
1705
Pattern *var, Type patternTy)
1704
1706
: kind(Kind::uninitializedVar) {
1705
- assert (patternBinding);
1706
-
1707
- patternBinding = binding;
1707
+ uninitializedVar.binding = binding;
1708
1708
uninitializedVar.index = index;
1709
1709
uninitializedVar.declaration = var;
1710
1710
uninitializedVar.type = patternTy;
@@ -1781,7 +1781,7 @@ class SolutionApplicationTarget {
1781
1781
uninitializedVar.declaration .dyn_cast <VarDecl *>())
1782
1782
return wrappedVar->getDeclContext ();
1783
1783
1784
- return patternBinding ->getInitContext (uninitializedVar.index );
1784
+ return uninitializedVar. binding ->getInitContext (uninitializedVar.index );
1785
1785
}
1786
1786
}
1787
1787
llvm_unreachable (" invalid decl context type" );
@@ -2072,7 +2072,7 @@ class SolutionApplicationTarget {
2072
2072
return nullptr ;
2073
2073
2074
2074
case Kind::uninitializedVar:
2075
- return patternBinding ;
2075
+ return uninitializedVar. binding ;
2076
2076
}
2077
2077
llvm_unreachable (" invalid case label type" );
2078
2078
}
0 commit comments