@@ -95,6 +95,9 @@ class PatternBindingInitializer : public Initializer {
95
95
return new (parent->getASTContext ()) PatternBindingInitializer (parent);
96
96
}
97
97
98
+ static PatternBindingInitializer *createDeserialized (PatternBindingDecl *PBD,
99
+ unsigned index);
100
+
98
101
void setBinding (PatternBindingDecl *binding, unsigned bindingIndex) {
99
102
setParent (binding->getDeclContext ());
100
103
Binding = binding;
@@ -122,37 +125,6 @@ class PatternBindingInitializer : public Initializer {
122
125
}
123
126
};
124
127
125
- // / SerializedPatternBindingInitializer - This represents what was originally a
126
- // / PatternBindingInitializer during serialization. It is preserved as a special
127
- // / class only to maintain the correct AST structure and remangling after
128
- // / deserialization.
129
- class SerializedPatternBindingInitializer : public SerializedLocalDeclContext {
130
- PatternBindingDecl *Binding;
131
-
132
- public:
133
- SerializedPatternBindingInitializer (PatternBindingDecl *Binding,
134
- unsigned bindingIndex)
135
- : SerializedLocalDeclContext(LocalDeclContextKind::PatternBindingInitializer,
136
- Binding->getDeclContext ()),
137
- Binding(Binding) {
138
- SpareBits = bindingIndex;
139
- }
140
-
141
- PatternBindingDecl *getBinding () const {
142
- return Binding;
143
- }
144
-
145
- unsigned getBindingIndex () const { return SpareBits; }
146
-
147
-
148
- static bool classof (const DeclContext *DC) {
149
- if (auto LDC = dyn_cast<SerializedLocalDeclContext>(DC))
150
- return LDC->getLocalDeclContextKind () ==
151
- LocalDeclContextKind::PatternBindingInitializer;
152
- return false ;
153
- }
154
- };
155
-
156
128
// / A default argument expression. The parent context is the function
157
129
// / (possibly a closure) for which this is a default argument.
158
130
class DefaultArgumentInitializer : public Initializer {
0 commit comments