File tree Expand file tree Collapse file tree 2 files changed +10
-2
lines changed Expand file tree Collapse file tree 2 files changed +10
-2
lines changed Original file line number Diff line number Diff line change @@ -76,6 +76,11 @@ class PatternBindingInitializer : public Initializer {
76
76
// created lazily for 'self' lookup from lazy property initializer
77
77
ParamDecl *SelfParam;
78
78
79
+ // Sets itself as the parent.
80
+ friend class PatternBindingDecl ;
81
+
82
+ void setBinding (PatternBindingDecl *binding, unsigned bindingIndex);
83
+
79
84
explicit PatternBindingInitializer (DeclContext *parent)
80
85
: Initializer(InitializerKind::PatternBinding, parent),
81
86
Binding(nullptr ), SelfParam(nullptr ) {
@@ -90,8 +95,6 @@ class PatternBindingInitializer : public Initializer {
90
95
static PatternBindingInitializer *createDeserialized (PatternBindingDecl *PBD,
91
96
unsigned index);
92
97
93
- void setBinding (PatternBindingDecl *binding, unsigned bindingIndex);
94
-
95
98
PatternBindingDecl *getBinding () const { return Binding; }
96
99
97
100
unsigned getBindingIndex () const { return SpareBits; }
Original file line number Diff line number Diff line change @@ -2004,6 +2004,11 @@ ParamDecl *PatternBindingInitializer::getImplicitSelfDecl() const {
2004
2004
2005
2005
void PatternBindingInitializer::setBinding (PatternBindingDecl *binding,
2006
2006
unsigned bindingIndex) {
2007
+ assert (binding);
2008
+ assert (!Binding || Binding == binding &&
2009
+ " Cannot change the binding after the fact" );
2010
+ assert (!Binding || SpareBits == bindingIndex &&
2011
+ " Cannot change the binding index after the fact" );
2007
2012
setParent (binding->getDeclContext ());
2008
2013
Binding = binding;
2009
2014
SpareBits = bindingIndex;
You can’t perform that action at this time.
0 commit comments