@@ -117,114 +117,114 @@ class CodeCompletionCallbacks {
117
117
118
118
// / Complete the whole expression. This is a fallback that should
119
119
// / produce results when more specific completion methods failed.
120
- virtual void completeExpr () = 0 ;
120
+ virtual void completeExpr () {} ;
121
121
122
122
// / Complete expr-dot after we have consumed the dot.
123
- virtual void completeDotExpr (Expr *E, SourceLoc DotLoc) = 0 ;
123
+ virtual void completeDotExpr (Expr *E, SourceLoc DotLoc) {} ;
124
124
125
125
// / Complete the beginning of a statement or expression.
126
- virtual void completeStmtOrExpr () = 0 ;
126
+ virtual void completeStmtOrExpr () {} ;
127
127
128
128
// / Complete the beginning of expr-postfix -- no tokens provided
129
129
// / by user.
130
- virtual void completePostfixExprBeginning (CodeCompletionExpr *E) = 0 ;
130
+ virtual void completePostfixExprBeginning (CodeCompletionExpr *E) {} ;
131
131
132
132
// / Complete the beginning of expr-postfix in a for-each loop sequqence
133
133
// / -- no tokens provided by user.
134
- virtual void completeForEachSequenceBeginning (CodeCompletionExpr *E) = 0 ;
134
+ virtual void completeForEachSequenceBeginning (CodeCompletionExpr *E) {} ;
135
135
136
136
// / Complete a given expr-postfix.
137
- virtual void completePostfixExpr (Expr *E, bool hasSpace) = 0 ;
137
+ virtual void completePostfixExpr (Expr *E, bool hasSpace) {} ;
138
138
139
139
// / Complete a given expr-postfix, given that there is a following
140
140
// / left parenthesis.
141
- virtual void completePostfixExprParen (Expr *E, Expr *CodeCompletionE) = 0 ;
141
+ virtual void completePostfixExprParen (Expr *E, Expr *CodeCompletionE) {} ;
142
142
143
143
// / Complete expr-super after we have consumed the 'super' keyword.
144
- virtual void completeExprSuper (SuperRefExpr *SRE) = 0 ;
144
+ virtual void completeExprSuper (SuperRefExpr *SRE) {} ;
145
145
146
146
// / Complete expr-super after we have consumed the 'super' keyword and
147
147
// / a dot.
148
- virtual void completeExprSuperDot (SuperRefExpr *SRE) = 0 ;
148
+ virtual void completeExprSuperDot (SuperRefExpr *SRE) {} ;
149
149
150
150
// / Complete the argument to an Objective-C #keyPath
151
151
// / expression.
152
152
// /
153
153
// / \param KPE A partial #keyPath expression that can be used to
154
154
// / provide context. This will be \c NULL if no components of the
155
155
// / #keyPath argument have been parsed yet.
156
- virtual void completeExprKeyPath (KeyPathExpr *KPE, SourceLoc DotLoc) = 0 ;
156
+ virtual void completeExprKeyPath (KeyPathExpr *KPE, SourceLoc DotLoc) {} ;
157
157
158
158
// / Complete the beginning of type-simple -- no tokens provided
159
159
// / by user.
160
- virtual void completeTypeSimpleBeginning () = 0 ;
160
+ virtual void completeTypeSimpleBeginning () {} ;
161
161
162
162
// / Complete a given type-identifier after we have consumed the dot.
163
- virtual void completeTypeIdentifierWithDot (IdentTypeRepr *ITR) = 0 ;
163
+ virtual void completeTypeIdentifierWithDot (IdentTypeRepr *ITR) {} ;
164
164
165
165
// / Complete a given type-identifier when there is no trailing dot.
166
- virtual void completeTypeIdentifierWithoutDot (IdentTypeRepr *ITR) = 0 ;
166
+ virtual void completeTypeIdentifierWithoutDot (IdentTypeRepr *ITR) {} ;
167
167
168
168
// / Complete at the beginning of a case stmt pattern.
169
- virtual void completeCaseStmtBeginning () = 0 ;
169
+ virtual void completeCaseStmtBeginning () {} ;
170
170
171
171
// / Complete a case stmt pattern that starts with a dot.
172
- virtual void completeCaseStmtDotPrefix () = 0 ;
172
+ virtual void completeCaseStmtDotPrefix () {} ;
173
173
174
174
// / Complete at the beginning of member of a nominal decl member -- no tokens
175
175
// / provided by user.
176
176
virtual void completeNominalMemberBeginning (
177
- SmallVectorImpl<StringRef> &Keywords) = 0 ;
177
+ SmallVectorImpl<StringRef> &Keywords) {} ;
178
178
179
179
// / Complete at the beginning of accessor in a accessor block.
180
- virtual void completeAccessorBeginning () = 0 ;
180
+ virtual void completeAccessorBeginning () {} ;
181
181
182
182
// / Complete the keyword in attribute, for instance, @available.
183
- virtual void completeDeclAttrKeyword (Decl *D, bool Sil, bool Param) = 0 ;
183
+ virtual void completeDeclAttrKeyword (Decl *D, bool Sil, bool Param) {} ;
184
184
185
185
// / Complete the parameters in attribute, for instance, version specifier for
186
186
// / @available.
187
- virtual void completeDeclAttrParam (DeclAttrKind DK, int Index) = 0 ;
187
+ virtual void completeDeclAttrParam (DeclAttrKind DK, int Index) {} ;
188
188
189
189
// / Complete within a precedence group decl or after a colon in an
190
190
// / operator decl.
191
- virtual void completeInPrecedenceGroup (SyntaxKind SK) = 0 ;
191
+ virtual void completeInPrecedenceGroup (SyntaxKind SK) {} ;
192
192
193
193
// / Complete the platform names inside #available statements.
194
- virtual void completePoundAvailablePlatform () = 0 ;
194
+ virtual void completePoundAvailablePlatform () {} ;
195
195
196
196
// / Complete the import decl with importable modules.
197
197
virtual void
198
- completeImportDecl (std::vector<std::pair<Identifier, SourceLoc>> &Path) = 0 ;
198
+ completeImportDecl (std::vector<std::pair<Identifier, SourceLoc>> &Path) {} ;
199
199
200
200
// / Complete unresolved members after dot.
201
201
virtual void completeUnresolvedMember (CodeCompletionExpr *E,
202
- SourceLoc DotLoc) = 0 ;
202
+ SourceLoc DotLoc) {} ;
203
203
204
- virtual void completeAssignmentRHS (AssignExpr *E) = 0 ;
204
+ virtual void completeAssignmentRHS (AssignExpr *E) {} ;
205
205
206
- virtual void completeCallArg (CodeCompletionExpr *E) = 0 ;
206
+ virtual void completeCallArg (CodeCompletionExpr *E) {} ;
207
207
208
- virtual void completeReturnStmt (CodeCompletionExpr *E) = 0 ;
208
+ virtual void completeReturnStmt (CodeCompletionExpr *E) {} ;
209
209
210
210
// / Complete a yield statement. A missing yield index means that the
211
211
// / completion immediately follows the 'yield' keyword; it may be either
212
212
// / an expresion or a parenthesized expression list. A present yield
213
213
// / index means that the completion is within the parentheses and is
214
214
// / for a specific yield value.
215
215
virtual void completeYieldStmt (CodeCompletionExpr *E,
216
- Optional<unsigned > yieldIndex) = 0 ;
216
+ Optional<unsigned > yieldIndex) {} ;
217
217
218
218
virtual void completeAfterPoundExpr (CodeCompletionExpr *E,
219
- Optional<StmtKind> ParentKind) = 0 ;
219
+ Optional<StmtKind> ParentKind) {} ;
220
220
221
- virtual void completeAfterPoundDirective () = 0 ;
221
+ virtual void completeAfterPoundDirective () {} ;
222
222
223
- virtual void completePlatformCondition () = 0 ;
223
+ virtual void completePlatformCondition () {} ;
224
224
225
- virtual void completeAfterIfStmt (bool hasElse) = 0 ;
225
+ virtual void completeAfterIfStmt (bool hasElse) {} ;
226
226
227
- virtual void completeGenericParams (TypeLoc TL) = 0 ;
227
+ virtual void completeGenericParams (TypeLoc TL) {} ;
228
228
229
229
// / Signals that the AST for the all the delayed-parsed code was
230
230
// / constructed. No \c complete*() callbacks will be done after this.
0 commit comments