@@ -1632,6 +1632,7 @@ class SolutionApplicationTarget {
16321632 } caseLabelItem;
16331633
16341634 struct {
1635+ PatternBindingDecl *binding;
16351636 // / Index into pattern binding declaration (if any).
16361637 unsigned index;
16371638 PointerUnion<VarDecl *, Pattern *> declaration;
@@ -1688,10 +1689,11 @@ class SolutionApplicationTarget {
16881689 SolutionApplicationTarget (VarDecl *uninitializedWrappedVar)
16891690 : kind(Kind::uninitializedVar) {
16901691 if (auto *PDB = uninitializedWrappedVar->getParentPatternBinding ()) {
1691- patternBinding = PDB;
1692+ uninitializedVar. binding = PDB;
16921693 uninitializedVar.index =
16931694 PDB->getPatternEntryIndexForVarDecl (uninitializedWrappedVar);
16941695 } else {
1696+ uninitializedVar.binding = nullptr ;
16951697 uninitializedVar.index = 0 ;
16961698 }
16971699
@@ -1702,9 +1704,7 @@ class SolutionApplicationTarget {
17021704 SolutionApplicationTarget (PatternBindingDecl *binding, unsigned index,
17031705 Pattern *var, Type patternTy)
17041706 : kind(Kind::uninitializedVar) {
1705- assert (patternBinding);
1706-
1707- patternBinding = binding;
1707+ uninitializedVar.binding = binding;
17081708 uninitializedVar.index = index;
17091709 uninitializedVar.declaration = var;
17101710 uninitializedVar.type = patternTy;
@@ -1781,7 +1781,7 @@ class SolutionApplicationTarget {
17811781 uninitializedVar.declaration .dyn_cast <VarDecl *>())
17821782 return wrappedVar->getDeclContext ();
17831783
1784- return patternBinding ->getInitContext (uninitializedVar.index );
1784+ return uninitializedVar. binding ->getInitContext (uninitializedVar.index );
17851785 }
17861786 }
17871787 llvm_unreachable (" invalid decl context type" );
@@ -2072,7 +2072,7 @@ class SolutionApplicationTarget {
20722072 return nullptr ;
20732073
20742074 case Kind::uninitializedVar:
2075- return patternBinding ;
2075+ return uninitializedVar. binding ;
20762076 }
20772077 llvm_unreachable (" invalid case label type" );
20782078 }
0 commit comments